ronghua

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

  • 对象.属性名称
  • 对象[属性名称]

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

  • 对象[属性名称]

  

  

分类:

技术点:

相关文章:

  • 2021-05-22
  • 2021-10-15
  • 2021-12-27
  • 2021-12-27
  • 2021-11-30
  • 2021-09-07
  • 2021-11-07
  • 2021-10-25
猜你喜欢
  • 2021-10-13
  • 2019-01-17
  • 2021-12-27
  • 2018-09-09
  • 2021-11-05
  • 2021-10-13
  • 2021-12-27
相关资源
相似解决方案