javascript訪問物件屬性方式簡單介紹

antzone發表於2017-04-06

可能不少朋友對於本文章存在一些看法,感覺這麼簡單的問題根本不用來專門強調。

確實,這個問題對於絕大多數稍有經驗的程式設計師來說都不是問題,但是可能還有不少初學者對此還不夠了解。

看一個程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  url:"softwhy.com"
}
console.log(obj.webName);

上面的程式碼就是一個最為典型的屬性訪問方式,採用點(.),但是這並不是唯一的方式,下面就做一下介紹。

屬性訪問具有兩種方式,語法結構如下:

[JavaScript] 純文字檢視 複製程式碼
expression.identifier 
expression["expression"]

可以使用上面兩種方式訪問屬性,不敢使用哪種方式,都會首先計算expression表示式的值,如果是undefined或者null就會報錯,因為這兩個不會有任何的屬性。雖然使用點的方式更為簡單,但是這種方式只適用於屬性名稱是合法的標示符,且需要知道要訪問的屬性名字。如果屬性名稱是一個保留字或包含空格和標點符號,或是一個數字(對於陣列來說),則必須使用方括號的寫法。當屬姓名是通過運算得出的值而不是固定的值的時候,這時必須使用方括號寫法。程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  url:"softwhy.com",
  5:"青島市南區"
}
//console.log(obj.5);報錯
console.log(obj[5]);

相關文章