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、总结:
一、如果属性名称是常量(固定值),获取属性值的方式有:
对象.属性名称
对象[属性名称]
二、如果属性名称是一个变量(不固定值),获取属性值方式只能是:
对象[属性名称]
|
|