一、undefined、null、""、0、false这五个值在if语句中作判断,都会执行false分支测试
二、 undefined和null比较特殊,
虽然null的类型是object,可是null不具备任何对象的特性,
就是说咱们并不能执行null.toString()、null.constructor等对象实例的默认调用。
因此从这个意义上来讲,null和undefined有最大的类似性。
★★看看null == undefined的结果(true)也就更加能说明这点。
不过类似归类似,仍是有区别的,
就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。
3.""、0和false虽然在if语句表现为"假值",可它们都是有意义数据,只是被做为了"空值"或"假值"spa
4.当尝试读取不存在的对象属性时也会返回 undefined。
提示:只能用 === 运算来测试某个值是不是未定义的,由于 == 运算符认为 undefined 值等价于 null。
注释:null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。对象
null == undefined
可是:
null !== undefined
那么这二者到底有啥区别呢?
null
这是一个对象,可是为空。由于是对象,因此 typeof null 返回 'object' 。
null 是 JavaScript 保留关键字。
null 参与数值运算时其值会自动转换为 0 ,所以,下列表达式计算后会获得正确的数值:
表达式:123 + null结果值:123
表达式:123 * null结果值:0 ip