JavaScript Study 2(类型、值和变量)

JavaScript数据类型分为:原始类型(数字、字符串、布尔值和特殊值【null、undefined】)和对象类型(Object,键值对组成)。JavaScript中,同时使用了字符串和数字,数字将会转成字符串处理。不在任何函数内声明的变量称为全局变量。

1、数字

JavaScript不区分整数值和浮点值,所有数字均用64位浮点格式表示。在任何数字直接量前加“-”号,可以得到其负数,但“-”号不是数字直接量的组成部分,只是一元求反运算。

浮点数表示:[d][.d][(E|e)[(+|-)]d]  例:6.02e23 //表示6.02*10.23。

判断x是否为NaN,不能使用 x==NaN,而应使用x!=x,因为NaN不与任何值相等,包括本身。

日期:var date = new Date(),日期相减得到两者间的毫秒数。

2、字符串

字符串长度是其所含16位值的个数;字符串的第一个位置用0表示;字符串可有单引号或双引号括起来

用到的转义字符:\n  换行符(\u000A);\v  垂直制表符(\u000B);\f  换页符(\u000C);\r  回车符(\u000D);\"  双引号(\u0022);\'  单引号(\u0027);\\  反斜杠(\u005c)等等

字符串操作:JavaScript的字符串是不变的,replace()等方法都是返回新的字符串。

模式匹配:

3、布尔值

其中undefined、null、0、-0、NaN、""都会转成false;其他值都会转成true;toString();&&、||、!

4、null、undefined

typeof(null) => Object,null为一个特殊的对象,表示“非对象”;typeof(undefined) ==> undefined,undefined为一种类型;相等运算 null == undefined,返回true,但严格相等null === undefined,返回false。或许可以说undefined表示系统级的空值,而null表示程序级的空值,在给变量赋空值时,最好使用null。

5、全局对象

NaN、isNaN()、parseInt()、Date()、Math···

6、包装对象

string——String();数值——Number();布尔值——Boolean()。它们的==返回true,===返回false。使用typeof可以查看。

7、原始值不可变,对象引用可变

对象的比较是引用的比较,当引用同一个基对象它们才相等。如果需要比较对象的值,则需对它们的每个属性或元素进行比较。

8、类型转换

parseInt、parseFloat、toString()等等

9、变量声明

var i; var i,j;···

重复声明是合法的,就像一个赋值语句一样;但遗漏声明在不严格的JavaScript中会声明一个全局变量,不推荐这样,应尽量使用var声明变量。

10、变量作用域

JavaScript没有块级作用域,所有函数体内的变量声明在函数体内都是可以使用的,建议函数体内的变量声明放在函数顶部,反映变量的真实作用域。

全局变量是全局对象的属性——ECMAScript规范中强制规定的。

你可能感兴趣的:(JavaScript)