理解undefined和null的区别

294 阅读1分钟

null:Null类型,代表“空值”。代表一个空对象指针。试用typeofu运算得到“Object”,所以你可认为他是一个特殊的对象值

undefined :Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。

null是JS里的一个关键字可以认为是对象类型。和其他语言一样,代表“空值”,undefined是JS才有的。undefined是在ECMAScript第三版引入的,为了区分空指针对象和未初始化的变量,它是一个预定义的全局变量。没有返回值的函数返回为undefined,没有实参的形参也是undefined。

总结:undefined是访问一个未初始化的变量时候返回的值。
null是访问一个上文存在的对象时候返回的值。
可以把undefined看作是空的变量。而null看作是空的对象。 在定义一个想保存的对象变量时候可以让变量先保存null值,这样既能体现null是一个空指针对象,也更好区分null和undefined区别