null&undefined 区别
- null 表示一个空对象指针,使用 typeof 检测时,返回 object
- undefined 表示一个未定义的原始值,使用 typeof 检测时,返回 undefined
- null 是一个表示“空”的对象,转为数值时为 0;undefined 是一个表示"此处无定义"的原始值,转为数值时为 NaN。
- null 表示"没有对象",即该处不应该有值。典型用法是:
- (1) 作为函数的参数,表示该函数的参数不是对象。
- (2) 作为对象原型链的终点。
- (3) 作为数据库查询结果的返回值,表示数据库查询无结果。
- undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
- (1)变量被声明了,但没有赋值时,就等于 undefined。