js中物件取值的點語法和中括號語法的區別

2021-10-01 08:55:25 字數 1136 閱讀 3500

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...