js中對於物件取值時有兩種方法, 一種是點語法, 一種是中括號語法. 但總有人不清楚什麼時候用哪種. 網上其他部落格有的說的不太全. 這次詳細的說的介紹一下:
中括號語法: 任何時候 場合都可使用 適用範圍很廣;
點語法: 較有侷限性, 一下說一下;
舉例一:
let obj =
console.log(obj.a) // 123
console.log(obj['a']) // 123
點語法和中括號語法都沒問題 正常;
舉例二:
let obj =
console.log(obj.'') // syntaxerror
console.log(obj['']) // 123
key為空字串時, 中括號可正常取值, 點語法報錯; 其實編輯器就提示你了. 中括號用雙字串也可取值
舉例三:
let obj =
console.log(obj.1) // syntaxerror
console.log(obj[1]) // 123
結果同上, key為number型別時, 點語法也無法取值
舉例四:
let obj =
console.log(obj.'1') // syntaxerror
console.log(obj['1']) // 123
結果同上, key為數字字串時 點語法也無法取值
舉例五:
let obj =
let value = 'a'
console.log(obj.value) // undefined
console.log(obj[value]) // 123
當key為變數時, 點語法無法取值, 中括號語法可正常取值;
小結: 暫時專案中遇到的區別就這些吧. 希望對前端路上的你有一點幫助;
js物件取值的兩種方式 點和中括號
通過點的方式 object.key 通過的方式 object key 通過.的方式獲取屬性值 key是靜態的 var obj var name1 obj.name 使用點的方式 通過的方式獲取屬性值,key是動態的,可以是字串,也可以是數字,還可以是變數 var obj1 var obj2 var ...
JS 點和中括號
今天上午做乙個很low的小練習,寫完了想要封裝重複利用來著 可是憋屈啊,怎麼都不對,在document.style.width這裡,想把width變成引數可是用點的話,會報錯說找不到點後邊這個屬性 也是啊,點就是 的 的意思,點後邊放乙個abc代替,他當然會認為你要找style裡邊的abc屬性啊。不...
js中屬性點 和中括號 的關係。
本來這裡說的是 js 執行乙個字串形式函式的方法。但是呢看到乙個 window test 居然一下子轉不過彎來。這就尷尬了。不是說好了 和 其他都是 什麼的什麼 關係嗎?如 window.onload 表示 window 的載入事件。使用 function fn 定義了乙個函式,和使用 var fn...