美文网首页
null和undefined

null和undefined

作者: hello_water | 来源:发表于2017-03-22 21:46 被阅读25次

nullundefinde都属于基本类型,它们没有原型,不是对象,但是typeof null返回的却是object,这是javascript的bug,但是最新的EScript语言为了兼容型,没对这一bug做修复。
所以使用typeof判断是否为null不准确,可以使用Object.prototype.toString.call()打印具体类型。
Object.prototype.toString.call(null) //"[object Null]" Object.prototype.toString.call(undefined) //"[object Undefined]"

null的使用场景:

null通常用作一个空引用或空对象,比如:

1.DOM上读取一个不存在的元素会返回null
2.如果需要给一个变量或属性指定不变的值、将它传递给一个函数,或者从一个函数返回null,null都是最好的选择。
3.javascript使用undefined,而程序员应该使用null
4.通过分配null,有效清除引用,并假设对象没有应用其它代码,指定垃圾收集,确保内存被回收。
5.null也是一个关键字。

undefined的使用场景:

1.只声明不初始化的变量都会返回一个undefined

3.函数没有指定返回值会返回一个undefined

4.void操作符会返回undefined。 像Underscore的库使用它作为一个防御式的类型检查,因为它是不可变的,可以在任何上下文依赖返回undefined:
var test= void 0 //undefined test //undefined
5.undefined是一个预定义的全局变量初始化为undefined值。
'undefined' in window; // true

相关文章

网友评论

      本文标题:null和undefined

      本文链接:https://www.haomeiwen.com/subject/bceanttx.html