JavaScript中用于访问对象属性的syntax是:
object.property
或object["property"]
或object[property]
我在freeCodeCamp上尝试了此lesson:
var myObj = { gift: "pony", pet: "kitten", bed: "sleigh" };
function checkObj(checkProp) {
if( myObj.hasOwnProperty(checkProp) )
return myObj[checkProp];
return "Not Found";
}
checkObj("gift");
...控制台使用object[property]
语法显示期望的道具,否则显示undefined
。为什么会这样?
答案 0 :(得分:3)
因为只有+--------+-----------+-------------+------------------+-----------------+
| LandID | LandUnits | LandLineNum | TaxableLandValue | TaxableUseValue |
+--------+-----------+-------------+------------------+-----------------+
| 36517 | 1 | 1 | 20528 | 20528 |
| 36516 | 73 | 2 | 260560 | 57541 |
| 36514 | 5 | 3 | 18484 | 3068 |
| 36513 | 25 | 4 | 20638 | 6500 |
| 36515 | 95 | 5 | 78530 | 19977 |
| 36512 | 19 | 6 | 8129 | 1281 |
+--------+-----------+-------------+------------------+-----------------+
允许您使用动态属性(在特定情况下,变量保存在变量中,object[property]
)。
其他人-checkProp
或object.property
直接将推荐到名为object["property"]
的道具,并且由于没有这样的道具作为property
的道具,您会收到property
。
答案 1 :(得分:1)
由于 property 是变量,因此必须动态使用Bracket ([]
) notation才能动态访问对象属性。否则,它将始终为您提供undefined
。
var myObj = { gift: "pony", pet: "kitten", bed: "sleigh" };
function checkObj(checkProp) {
if( myObj.hasOwnProperty(checkProp) )
return myObj[checkProp];
return "Not Found";
}
console.log(checkObj("gift"));
console.log(checkObj("g"));