对象属性的点表示法和方括号表示法的总结(object[i])
写项目时遇到的坑,自己来填,共大家参考:
var person = {
name:'dell'
}
习惯上,调用对象的属性,我们一般使用 person.name ,但其实也可以使用person[‘name’]的方式访问和调用,
下面我们对比一下两种方式的异同与优缺点:
1,操作上没有明显差别,但是在safari中,点符号会更快一些;
2,写法上,方括号注意要用 ‘’ 将属性包裹,当属性是变量是不用
3,点符号不可以访问调用变量属性,方括号可以(这就是我遇到的坑)
this.timer=setTimeout(() => {
const result = []
for (let i in this.cities) {
this.cities[i].forEach((value) => {
if (value.spell.indexOf(this.keyword) > -1 || value.name.indexOf(this.keyword) > -1) {
result.push(value)
}
})
}
this.list = result
},100)
以上代码中,cities是通过ajax获取的Object数据,此处要遍历各个属性,属性名为i,此处 i 是一个变量,需要通过cities[i],而不是cities.i
以上,仅供大家参考使用
参考:
- 高性能javascript