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、總結:
一、如果屬性名稱是常量(固定值),獲取屬性值的方式有:

  • 對象.屬性名稱
  • 對象[屬性名稱]

二、如果屬性名稱是一個變量(不固定值),獲取屬性值方式只能是:

  • 對象[屬性名稱]

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM