在我们执行JS的一些代码的时候,有的时候就会有一些结果出现null和undefined。我就为大家总结了一些常见的情况。
undefined
- 在变量提升(预解析)阶段,只声明未定义,默认值就是undefined。
- 在JS的严格模式下(”use strict”),没有明确的主体,this指的就是undefined。
- 函数定义没有返回值(return或者return后面什么也不带),默认的返回值就是undefined。
- 函数定义形参不传值,默认就是undefined。
- 对象没有这个属性名,属性值默认就是undefined。
null
- 手动设置变量的值或者对象某一个属性值为null(此时不赋值,会在后面的代码中进行赋值,相当于初始化。)
- 在JS的DOM元素获取中,如果没有获取到指定的元素对象,结果一般是null。
- Object.prototype._proto_的值也是null。
- 在正则捕获的时候,如果没有捕获到结果,默认也是null。
以上几种常见的undefined和null的出现方式,日后遇到还会继续添加。希望在这看到这里的大神们,还见过哪些关于undefined和null出现的情况,请尽情补充,我会一一采纳的,嘿嘿。