区别:
都是代表没有值
null表示“没有对象”,该处不应该有值
undefined表示“缺少值”,该处应该有值,但是还没有定义
转为数值也不同,null转换数值为0,undefined转为数值是NaN(不是一个数字)
应用:
什么时候会有null:
作为函数的参数,表示该函数的参数不是对象
作为对象原型链的终点
什么时候会有undefined:
变量被声明了。但是没有赋值,就等于undefined
调用函数时,应该提供的参数没提供,该参数就等于undefined
对象没有赋值的属性,该属性的值为undefined
函数没有返回值时,默认返回undefined