zoukankan      html  css  js  c++  java
  • js 通过对象属性名称获取属性值的注意要点

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

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

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

    • 对象[属性名称]

      

      

  • 相关阅读:
    Quartz使用总结
    ubuntu 16.04 下载源
    samba搭建
    搭建FTP服务器
    ubuntu 快捷图标
    mysql Fatal error encountered during command execution
    vs2013调试的时候卡顿
    javascript父窗口与子窗口通信
    mysql设置字体
    前台声明变量
  • 原文地址:https://www.cnblogs.com/ronghua/p/13164125.html
Copyright © 2011-2022 走看看