1)3.4.2
js中声明的变量和未声明的变量还是不一样的,如下
var a;
alert(a);//"undefined"
alert(b);//发生错误,b未声明
对于未声明的变量只能执行一个操作,即使用typeof操作符检测其数据类型(数据类型为undefined)(对未声明的变量使用delete不会导致错误,但是没有意义的,而且在严格模式下会导致错误)
var a;
alert(typeof a);//"undefined"
alert(typeof b);//"undefined"
2)
ECMAScript中共有6中数据类型,分别为5种简单数据类型(也叫基本数据类型)Undefined,Null,Boolean,Number,String和1中复杂数据类型Object
3)3.4.1
对一个值使用typeof操作符只会返回下面6中字符串的某个,不可能为别的
"undefined" -------当值未定义
"boolean" -------当值为布尔值
"number" -------当值为数字
"string" --------当值为字符串
"object" --------当值为对象或null
"function" ---------当值为函数
4)
虽然undefined和null表示完全不同的含义,但由于undefined是派生与null的,所以:
alert(null == undefined);//true
//但是
alert(null === undefined);//false
5)3.4.4
虽然Boolean类型的值只有true和false两个,但ECMAScript中所有类型的值都有与这两个值等价的值。要将一个值转换为其对应的Boolean值,可以用转换函数Boolean()
""(空字符串)
0,-0和NaN
null
undefined
这几个值对应的Boolean值为false,其余的都为true
网友评论