最早被问到这个问题时信心满满:
null是一个值呀;空值也是值;
undefined就是没被定义,找不到,或者没被声明····
然后这第一课就让我困惑了一下:null 和undefined的不同好像不是我想的那样?
null:
表示一个特殊值,常用来描述"空值"
关键字
typeof null; 值为'object'
表示数字,字符串,对象是无值的
undefined:
表示值的空缺,用未定义的值来拜师更深层次的"空值"
不是关键字
typeof undefined; 值为'undefined'
变量没有初始化
查询对象属性或数组元素,则说明没有这个属性或元素不存在
函数没有返回值,则返回undefined
引用没有提供实参的函数形参
ESCMAScript3,undefined是可读/写的变量
SCMAScript5,undefined是只读的变量
null == undefined; ture
null === undefined; false
未定义 => undefined
空值 => null
其实实际也差不多咯。而null相对来说是赋值了一个空值,undefined是未定义。(个人理解)