美文网首页
null和undefined的区别

null和undefined的区别

作者: 没了提心吊胆的稗子 | 来源:发表于2019-08-03 10:58 被阅读0次

    null和undefined

    null: 空,没有
    undefined: 未定义,没有

    '': 空字符串,没有
    0: 也可以理解为没有
    空字符串和null的区别
    空字符串开辟了内存地址,消耗了一些性能,而null没有
    null和undefined的区别
    共同点时都没有开辟内存地址
    null暂时没有,预期以后会有(可能会达不到预期),一般都是手动赋值,后期再赋具体值,Null类型,代表“空值”,代表一个空对象指针,typeof运算得到 “object”,所以可以认为它是一个特殊的对象值
    undefined,完全没在预期之内,为了区分空指针对象和未初始化的变量
    例如:
    document.parentNode //-> null
    document.parentnode //-> null
    null的几种情况:
    1、手动设置一个变量的值为null,方便后期赋值
    2、手动释放一个内存,让其值变为null
    3、通过document.getElementById('box'),如果页面中没有box,获取的结果就是null
    4、在正则的exec和字符串的match捕获中,如果不匹配捕获到的结果为null
    5、Object原型上的__proro__属性是null,他有但是他没意义,所以设置为null
    undefined的几种情况:
    1、JS只声明未定义的变量值是undefined
    2、函数中没有写return,默认的返回值是undefined
    3、获取一个对象的属性名对应的属性值,若属性名不存在,获取的值为undefined
    4、函数的形参不传值,其值为为undefined
    可以应用这个才检测浏览器兼容不兼容,比如IE的window对象下没有getComputedStyle这个方法

    相关文章

      网友评论

          本文标题:null和undefined的区别

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