A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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、总结:
一、如果属性名称是常量(固定值),获取属性值的方式有:

对象.属性名称
对象[属性名称]
二、如果属性名称是一个变量(不固定值),获取属性值方式只能是:

对象[属性名称]



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马