undefined、null、NaN都有表示空的意思,但含义和用法不一样。
- NaN(not a number)非数值,属于Number一类。
- null值表示一个空对象指针,属于Object一类。
- undefined表示变量未定义,主要用于比较,针对变量。
注意:
1、null与undefined虽然含义用法不同,但是null == undefined 的返回值为true,这是因为undefined值是派生自null值。undefined存在是为了正式区分空对象指针与未经初始化的变量。
2、无论在什么情况下,没有必要把一个变量的值显示设置undefined,但对于保存对象的变量还没有真正保存对象时,应该明确设置null值,这样可以体现null作为空对象指针的惯例,也可以进一步区分null和undefined。