在Javascript中,
null是一个对象。不存在的事物还有另一个价值,
undefined。DOM
null在几乎所有无法在文档中找到某些结构的情况下都会返回,但是在Javascript本身中
undefined是所使用的值。
第二,不,没有直接对等的内容。如果您确实要专门检查
null,请执行以下操作:
if (yourvar === null) // Does not execute if yourvar is `undefined`
如果要检查变量是否存在,那只能用
try/ 来完成
catch,因为
typeof它将未声明的变量和声明为的变量
undefined等效。
但是,检查是否声明一个变量 而 不是
undefined:
if (yourvar !== undefined) // Any scope
以前,必须使用
typeof运算符来安全地检查未定义的内容,因为有可能
undefined像变量一样重新分配。原来的样子是这样的:
if (typeof yourvar !== 'undefined') // Any scope
undefined可重新分配的问题已在2009年发布的ECMAscript
5中得到修复。现在,您可以安全地使用
===和
!==进行测试,
undefined而无需使用
typeofas,
undefined因为一段时间以来一直是只读的。
如果您想知道成员是否独立存在,但不在乎其值是什么:
if ('membername' in object) // With inheritanceif (object.hasOwnProperty('membername')) // Without inheritance如果您想知道变量是否为真:
if (yourvar)



