如何检查对象属性是否存在,以及是否存在包含属性名称的变量?

我正在检查是否存在一个对象属性,该对象属性带有一个变量,该变量包含有问题的属性名

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')不是

发表评论