在javascript中对对象属性的调用一般有两种方法
1. 对象.属性名
2. 使用 [] 中进行调用
测试用例
1.使用 对象.属性名的方法
//因为使用奇怪的属性名 我们将对象定义为x (未知)
let x = {
1:'这是1',
name:'x'
}
console.log(x.1) //报错
console.log(x.'1') //报错
console.log(x.name) // x 正常
//模拟动态添加属性
let addName = 'nose';
x.addName = 1; //{1:'这是1',name:'x',addName:'1'} 直接将变量名当作了属性名
2.使用 [ ] 的方法
let x= {
1:'这是1',
name:'x',
}
console.log(x['1']); //这是1
console.log(x['name']) //x
//模拟动态添加属性
let addName = 'nose';
x[addName ]= 1; //{1:'这是1',name:'x',nose:'1'} 正常赋值
//值得注意的是当[]中的东西为变量时,这时候是不用加引号的
总结区别
- 使用 . 的时候后面是一个指定的属性名,而使用 [ ] 里面可以是变量
- 使用 . 后面不可以是数字,而 [ ] 里面可以是数字
- 动态添加属性时必须使用 [ ]