获取对象属性之括号方式

"[]"

  • 可以用变量作为属性名进行访问
  • 可以通过字符串进行访问,但是需要加引号。
  • 可以使用数字作为属性名,而“.”不可以。
  • 可以动态设置属性和获取。而"."不可以。
  • 属性名中包含空格、错误的语法字符、关键字或保留字 也可以使用[]。
const Obj = {
    name: '大猩猩'
}
const myName = 'name';
//变量作为属性名
console.log(Obj[myName]); //大猩猩
//字符串作为属性名
console.log(Obj.name);  //大猩猩
console.log(Obj["name"]); //大猩猩

//数字作为属性名
Obj[2] = 2;
console.log(Obj[2]); //2
// console.log(Obj.2) //错误

var customer = {}
var address = ['北京', '上海', '广州', '深圳']

//动态设置
for (let i = 0; i < address.length; i++) {
    customer['address' + (i + 1)] = address[i];
}
console.log(customer); //{ address1: '北京', address2: '上海', address3: '广州', address4: '深圳' }

//动态获取
var str = '';
for (var i = 0; i < address.length; i++) {
    str += customer["address" + (i + 1)] + '\t';
}
console.log(str)  //北京    上海    广州    深圳

 

posted @ 2021-02-05 18:31  赛德·乌漆嘛黑  阅读(136)  评论(0编辑  收藏  举报