Javascript 如何检查对象属性?
我有以下代码:Javascript 如何检查对象属性?,javascript,Javascript,我有以下代码: if(window.NS1.foob) 我想检查一下是否有foob 然而,我得到了这个错误 NS1 id undefined. 问题是我需要测试是否存在foob,而不是NS1。一种方法是: if(window.NS1 && window.NS1.foob) 一种方法是: if(window.NS1 && window.NS1.foob) 不幸的是,您必须先检查NS1。窗口是全局对象,您不需要指定它,因为它是隐式的 if (window.NS
if(window.NS1.foob)
我想检查一下是否有foob
然而,我得到了这个错误
NS1 id undefined.
问题是我需要测试是否存在foob,而不是NS1。一种方法是:
if(window.NS1 && window.NS1.foob)
一种方法是:
if(window.NS1 && window.NS1.foob)
不幸的是,您必须先检查NS1。窗口是全局对象,您不需要指定它,因为它是隐式的
if (window.NS1 && window.NS1.foob)
在检查食物之前
这将解决您的问题。不幸的是,您必须先检查NS1。窗口是全局对象,您不需要指定它,因为它是隐式的
if (window.NS1 && window.NS1.foob)
在检查食物之前
这应该能解决你的问题。这对我很有效
var NS1 = window.NS1 = function(){};
NS1.foob = "bar";
NS1.hasOwnProperty('foob') ? alert('Yep') : alert('Nope');
编辑:不知道为什么我被否决了,但也许我误解了这个问题。(尽管我显然把它复杂化了一点)这对我来说很有效
var NS1 = window.NS1 = function(){};
NS1.foob = "bar";
NS1.hasOwnProperty('foob') ? alert('Yep') : alert('Nope');
编辑:不知道为什么我被否决了,但也许我误解了这个问题。(尽管我显然把它复杂化了一点)有很多方法,以下是两种:
if(window.NS1 && window.NS1.foob){
//your code
}
如果NS1不存在是一种例外情况(即不会频繁发生),并且如果您希望以不同的方式处理它(与不存在foob时相比),则应首选第二种方式。可以有多种方式,如下两种:
if(window.NS1 && window.NS1.foob){
//your code
}
如果NS1不存在是一种例外情况(即不会频繁发生),并且如果您希望以不同的方式处理它(与foob不存在时相比),则应首选第二种情况。您被否决的原因可能是因为您没有对NS1进行检查(这是实际问题)你基本上是在覆盖它。NS1有时可能会被赋值,这是可能发生的。希望我在这里讲得通。你被否决的原因可能是因为你没有对NS1进行检查(这是实际问题),你基本上是在覆盖它。NS1有时可能会被赋值,这是可能发生的。希望我在这里讲得有道理。实际上,如果NS1未定义,您应该使用if(window.NS1&&NS1.foob)…实际上,如果NS1未定义,您应该使用if(window.NS1&&NS1.foob)。。。