我正在检查对象属性是否存在,该变量包含一个持有问题的属性名称。
var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";
if(myObj.myProp){
alert("yes, i have that property");
};
这是undefined
因为它正在寻找myObj.myProp
但我要它检查myObj.prop
我正在检查对象属性是否存在,该变量包含一个持有问题的属性名称。
var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";
if(myObj.myProp){
alert("yes, i have that property");
};
这是undefined
因为它正在寻找myObj.myProp
但我要它检查myObj.prop
谢谢大家的帮助,并努力摆脱eval声明。变量需要放在方括号中,而不是点号。这可以正常工作,并且是正确的代码。
这些都是变量:appChoice,underI,underObstr。
if(typeof tData.tonicdata[appChoice][underI][underObstr] !== "undefined"){
//enter code here
}
您可以使用
hasOwnProperty()
以及in
运算符。