如何检查一个不是
我想检查变量是否已定义。 例如,以下引发一个未定义的错误
alert( x );
我怎样才能捕捉到这个错误?
在JavaScript中, null
是一个对象。 对于不存在的事物还有另外一个价值,那就是undefined
。 对于几乎所有无法在文档中找到某个结构的情况,DOM都会返回null
,但在JavaScript中本身undefined
是所使用的值。
其次,不,没有直接的等价物。 如果你真的想特别检查null
,那么:
if (yourvar === null) // Does not execute if yourvar is `undefined`
如果你想检查一个变量是否存在,那只能用try
/ catch
来完成,因为typeof
会处理一个未声明的变量和一个声明为undefined
值的变量等价。
但是,要检查一个变量是否被声明并且不是undefined
:
if (typeof yourvar !== 'undefined') // Any scope
如果您知道该变量存在,并且想要检查是否存在任何值:
if (yourvar !== undefined)
如果你想知道一个成员是否存在独立但不关心它的价值是什么:
if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance
如果你想知道一个变量是否是真的:
if (yourvar)
资源
真正测试变量是否undefined
的唯一方法是执行以下操作。 请记住,undefined是JavaScript中的一个对象。
if (typeof someVar === 'undefined') {
// Your variable is undefined
}
这个线程中的其他一些解决方案会引导你相信一个变量是未定义的,即使它已被定义(例如,值为NULL或0)。
从技术上讲,正确的解决方案是(我相信):
typeof x === "undefined"
你有时可能会懒惰和使用
x == null
但是它允许一个未定义的变量x和一个包含null的变量x返回true。
链接地址: http://www.djcxy.com/p/83617.html上一篇: How to check a not