如何验证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(myobject_or_myvar)
    alert('it exists');
else
   alert("what the hell you'll talking about");
if (n === Object(n)) {
   // code
}

对我来说,这适用于dom对象:

if(document.getElementsById('IDname').length != 0 ){
   alert("object exist");
}

两种方式。

用于局部变量的Typeof

你可以使用typeof测试本地对象:

if (typeof object !== "undefined") {}

全局变量窗口

你可以通过检查window对象来测试全局对象(在全局作用域中定义的对象):

if (window.FormData) {}

你可以使用:

if (typeof objectName == 'object') {
    //do something
}