理解js中的:Null、undefined、""、0、false

一、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

相关文章
相关标签/搜索