JS物件的方括號表示法和點表示法

weixin_34138377發表於2018-08-13

一、物件屬性

var aa = 'qqq';
var obj = {};
obj.aa = 2;
obj[aa] = 1;
console.log(obj);

13263206-f637f85fc8c3e26d.png
物件取值

二、點表示法
       在JS中,訪問物件屬性時可以使用[點表示法]和[方括號表示法]兩種方法,需要注意的是在使用方括號語法時,應該把屬性以字串的形式放在方括號中,如:

var obj = {
   aa: 1,
   qqq: 2
};
console.log(obj.aa); // 1
console.log(obj["aa"]); // 1
console.log(obj[aa]); // aa is not defined

三、方括號表示法
       方括號語法的優點:
       1)可以通過變數來訪問屬性;
       2)如果屬性名中包含會導致語法錯誤的字元,或者屬性名是關鍵字或者保留字,也可以使用方括號表示法;
       3)使用方括號表示法訪問屬性名時,可以在程式執行時建立和修改屬性,點操作符就不行;

var obj = {
      aa: 1
};
var qqq = 'aa';
obj['aa pp'] = 2;
console.log(obj[qqq]); // 1
// console.log(obj.aa pp); // 報錯
console.log(obj['aa pp']); // 2
// 案例1
var addr="";
for(i=0;i<4;i++){
    addr += customer["address"+i]+'\n';
}
// 案例2
function addStock(portfolio,stockname,shares){
    portfolio[stockname]=shares;
}

參考:https://blog.csdn.net/formyqianduan/article/details/52035843

相關文章