一、. undefined
1. 变量提升,只声明未定义默认值就是undefined
2. 严格模式下没有明确的执行主体,this就是undefined
3. 对象没有这个属性名,属性值就是undefined
4. 函数定义形参不传值,默认就是undefined
5. 函数没有返回值(没有return或只有return),默认的返回值就是undefined
二、null
1. 手动设置变量的值或者对象某个属性值为null(此时不赋值,后边会赋值)
2. 在js的DOM元素获取中,如果没有获取到指定的元素对象,结果一般是null
3. Object.prototype.__proto__的值也是null
4. 正则捕获的时候,如果没有捕获到结果,默认也是null