有时检查一个对象属性是否存在是非常有用的,我们可以用.hasOwnProperty(propname)
方法来检查对象是否有该属性。如果有返回true
,反之返回false
。
范例:
var myObj = {
top: "hat",bottom: "pants"
};
myObj.hasOwnProperty("top"); // true
myObj.hasOwnProperty("middle"); // false
题目内容:
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
if (myObj.hasOwnProperty(checkProp)){
return myObj[checkProp];
}
else{
return "Not Found";
}
}
checkObj("gift");
小结:范例中检测的属性为myObj中原有的属性,使用hasOwnProperty()时括号内的propname要加引号为字符串格式,但题中检测的属性名为一变量,使用hasOwnProperty()时括号内的propname不能加引号。为什么呢,新人不懂,继续学吧,以后会懂吧。