美文网首页
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