我使用JavaScript已经有几年了,以前我从来不关心null
和undefined
之间的区别,我总是使用undefined
来验证对象的存在。
但最近我是通过this article来的。他们在这里说
JavaScript区分了null和undefined,前者是一个' object‘类型的对象,表示有意的非值,后者是一个'undefined’类型的对象,表示一个未初始化的值-也就是说,一个值还没有被赋值。我们稍后会讨论变量,但是在JavaScript中,可以声明一个变量而不给它赋值。如果这样做,变量的类型是未定义的。
我现在完全迷惑了,这里到底什么是无价值的。这个非值与undefined
有何不同。什么情况下javascript返回null
。
我已经试过下面的样品了
var sam;
alert(sam); // returns undefined
和
try {
//var sam;
alert(sam);
} catch(ex) { } // exception says: sam is undefined
我不确定js什么时候返回null。有没有人能告诉我。
https://stackoverflow.com/questions/1559952
复制相似问题