1、不能是變量
var obj = {};
obj.AttrName = 'Tom'
注意:通過 對象.屬性名 獲取屬性值的時候,屬性名(AttrName )不能是一個變量。
2、可以是變量
原始數據數組:
var rawDataList =
[
{
"countDate": "2018-04-08",
"countNum": "2"
},
{
"countDate": "2018-04-18",
"countNum": "2"
},
{
"countDate": "2018-04-23",
"countNum": "7"
}
]
處理上述數據:
function Day2Mon2Year(dataList,prop){
for(var i = 0; i < dataList.length; i++){
var obj = rawDataList[i]
//報錯:Uncaught TypeError: Cannot read property 'replace' of undefined
var dateAttr = obj.prop
//不報錯:因為prop是變量,獲取方式不能是通過.屬性名稱
var dateAttr = obj[prop]
}
}
//調用報錯:Uncaught TypeError: Cannot read property 'replace' of undefined
Day2Mon2Year.(rawDataList,'countDate');
3、總結:
一、如果屬性名稱是常量(固定值),獲取屬性值的方式有:
對象.屬性名稱對象[屬性名稱]
二、如果屬性名稱是一個變量(不固定值),獲取屬性值方式只能是:
對象[屬性名稱]
