如何检查对象属性?

时间:2013-07-24 19:58:20

标签: javascript

我有这段代码:

if(window.NS1.foob)

我想查看是否存在foob。

但是,我收到此错误

NS1 id undefined.

问题是我需要测试foob的存在,而不是NS1。

4 个答案:

答案 0 :(得分:8)

一种方法是:

if(window.NS1 && window.NS1.foob)

答案 1 :(得分:4)

不幸的是,您必须先检查NS1。 Window是全局对象,您不需要指定它,因为它是隐式的。

if (window.NS1 && window.NS1.foob)

在检查foob之前。

这可以解决您的问题。

答案 2 :(得分:3)

可以有很多种方式,以下是两种方式:

if(window.NS1 && window.NS1.foob){
    //your code
}

try{
    if(window.NS1.foob) {
        //your code
    }
} catch (err) {
    if(err instanceof TypeError) {
        //your code
    } else {
       throw err;
    }
}

第二个应该是首选,如果NS1不存在是一个例外情况(即,不会经常发生),并且如果你想以不同的方式处理它(与foob不存在时相比)。< / p>

答案 3 :(得分:-1)

这适合我。

var NS1 = window.NS1 = function(){};
NS1.foob = "bar";
NS1.hasOwnProperty('foob') ? alert('Yep') : alert('Nope');

编辑:不知道为什么我被投票,但也许我误解了这个问题。 (虽然我明显过分复杂了一点)