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

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

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

    • 对象[属性名称]

      

      

  • 相关阅读:
    (五)L-BFGS算法
    (四)BFGS
    (三)DFP算法
    (二)拟牛顿条件
    (一)牛顿法与阻尼牛顿法
    遗传算法求解最优值
    Anaconda(Python3.6)配置OpenCV3.3
    SVM基础知识
    IO流
    webserver服务器优化0.1
  • 原文地址:https://www.cnblogs.com/ronghua/p/13164125.html
Copyright © 2011-2022 走看看