1. 程式人生 > >物件屬性的點表示法和方括號表示法的總結(object[i])

物件屬性的點表示法和方括號表示法的總結(object[i])

物件屬性的點表示法和方括號表示法的總結(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
以上,僅供大家參考使用

參考:

  1. 高效能javascript