- undefined表示”没有值“(既不是原始值也不是对象)。访问未初始化的变量、缺失的参数、以及缺失的属性会返回这个空值。并且如果函数中没有任何显式的返回值时,会隐式地返回undefined。
- null的意思是“没有对象”。在仅有的在访问任何属性抛出异常时都会得到的值。
undefined出现的场景
1.未初始化的变量是undefined
2.缺失的参数是undefined
3.如果访问一个不存在的属性,会返回undefined
4.如果函数中没有显式地返回任何值,函数会隐式返回undefined
null出现的场景
1.null是原型链最顶端的元素
2.当字符串种没有匹配到正则表达式的结果时,RegExp.prototype.exec()会返回null