问答详情
源自:1-2 JavaScript六种数据类型

null 和 undefined 有什么不同?可以从哪些方面回答?

最早被问到这个问题时信心满满:

null是一个值呀;空值也是值;

undefined就是没被定义,找不到,或者没被声明····

然后这第一课就让我困惑了一下:null 和undefined的不同好像不是我想的那样?

提问者:laraFight 2015-05-14 11:17

个回答

  • YMing
    2015-05-14 14:00:47
    已采纳

    null:

        表示一个特殊值,常用来描述"空值"

        关键字

        typeof null; 值为'object'

        表示数字,字符串,对象是无值的

    undefined:

        表示值的空缺,用未定义的值来拜师更深层次的"空值"

        不是关键字

        typeof undefined; 值为'undefined'

        变量没有初始化

        查询对象属性或数组元素,则说明没有这个属性或元素不存在

        函数没有返回值,则返回undefined

        引用没有提供实参的函数形参

        ESCMAScript3,undefined是可读/写的变量

        SCMAScript5,undefined是只读的变量


    null == undefined; ture

    null === undefined; false


  • Bosn
    2015-06-05 10:48:54

    未定义 => undefined

    空值 => null


    其实实际也差不多咯。而null相对来说是赋值了一个空值,undefined是未定义。(个人理解)