function checkObj(obj, checkProp) {
// Only change code below this line
if (obj.hasOwnProperty(checkProp) === true) {
return obj[checkProp];
} else {
return "Not Found";
}
// Only change code above this line
}
// Only change code above this line
console.log(checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "gift"));
为什么返回的时候只能写成return obj[checkProp];
而不能写成return obj.checkProp;
会输出Undefined
obj[checkProp]
表示动态获取, obj的key值是动态的, checkProp变量存的什么就是获取什么属性:比如
checkProp = '12234'
那么obj[checkProp]就等价于obj.1234obj.checkProp
表示获取key为checkProp
的值, obj没有这个key, 就是undefined了:看一些这个官方文档讲解的很清楚属性访问器