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

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

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

    • 对象[属性名称]

      

      

  • 相关阅读:
    Memcached简介
    TP5 volist
    Getting command line access to PHP and MySQL running MAMP on OSX
    PHP use
    PHP 命名空间(namespace)
    mac 使用 pf 做端口转发
    微信测试帐号如何设置URL和Token,以及相关验证的原理
    ionic开发笔记
    Eclipse下配置Maven
    css引用第三方字体库
  • 原文地址:https://www.cnblogs.com/ronghua/p/13164125.html
Copyright © 2011-2022 走看看