如何验证JavaScript中对象的存在?

以下工作:

if (!null)
   alert("GOT HERE");

但是这会抛出一个错误:

if (!maybeObject)
   alert("GOT HERE");

错误:

maybeObject没有定义。


当前回答

你可以安全地在未定义的变量上使用typeof操作符。

如果它被赋值,包括null, typeof将返回非undefined的值。Typeof总是返回一个字符串。

因此

if (typeof maybeObject != "undefined") {
   alert("GOT THERE");
}

其他回答

如果这是一个全局对象,你可以使用If (!window.maybeObject)

或者,您都可以开始使用我的独占exists()方法,并能够做一些被认为不可能的事情。例如:

像:exists("blabla"),甚至:exists("foreignObject.guessedProperty.guessNext.propertyNeeded")这样的东西也是可能的…

if (n === Object(n)) {
   // code
}

这个帖子很久以前就被打开了。同时,我认为使用三元运算符是最简单的选择:

maybeObject ? console.log(maybeObject.id) : ""

我觉得这样最简单

if(myobject_or_myvar)
    alert('it exists');
else
   alert("what the hell you'll talking about");