"[]"
- 可以用变量作为属性名进行访问
- 可以通过字符串进行访问,但是需要加引号。
- 可以使用数字作为属性名,而“.”不可以。
- 可以动态设置属性和获取。而"."不可以。
- 属性名中包含空格、错误的语法字符、关键字或保留字 也可以使用[]。
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)] + ' ';
}
console.log(str) //北京 上海 广州 深圳