我正在检查是否存在一个对象属性,该对象属性带有一个变量,该变量包含有问题的属性名
var myObj;
myObj.prop=“存在”;
var myProp=“p”+“r”+“o”+“p”;
if(myObj.myProp){
警惕(“是的,我有那个财产”);
};
这是未定义的,因为它正在查找myObj.myProp,但我希望它检查myObj.prop
var myProp='prop';
if(myObj.hasOwnProperty(myProp)){
警惕(“是的,我有那个财产”);
}
或
var myProp='prop';
if(myObj中的myProp){
警惕(“是的,我有那个财产”);
}
或
if('prop'在myObj中){
警惕(“是的,我有那个财产”);
}
请注意,hasOwnProperty不会检查继承的属性,而中的会检查继承的属性。例如,myObj中的'constructor'为true,但myObj.hasOwnProperty('constructor')不是