zoukankan      html  css  js  c++  java
  • null和undefined的区别

    1.undefined

    undefined的产生为初始化的时候,如果没有进行赋值,她是一个预定义的全局变量,例如:

     在你没有进行对某个变量进行赋值的时候,他会被赋为undefined。

    2.null

    null是人为进行赋值的。比如某个函数或者数组等等复杂类型,你如果想要进行一个舍弃,可以把它赋值为null。此时游览器会进行一个回收。

    其中typeof(null)会是一个object。最初这么设计的原因为:通常用作一个空引用一个空对象的预期,就像一个占位符。typeof的这种行为已经被确认为一个错误,虽然提出了修正,出于后兼容的目的,这一点已经保持不变。

    这也是上面为什么说可以把一个准备舍弃的复杂类型赋值为null的原因。

    3.null和undefined的相同地方和区别

     他们两个是基本相等的,但是不全等。

    没有值代表的布尔值是false,这意味着他们在条件上下文中会被被计算为false,如if语句。使用相等操作符(= =)比较这两个值和其他false值,   但是其实null并不等于false,undefined同样也是。

  • 相关阅读:
    js正则表达式中的问号使用技巧总结
    380. Insert Delete GetRandom O(1)
    34. Find First and Last Position of Element in Sorted Array
    162. Find Peak Element
    220. Contains Duplicate III
    269. Alien Dictionary
    18. 4Sum
    15. 3Sum
    224. Basic Calculator
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/liyaping/p/12152465.html
Copyright © 2011-2022 走看看