JavaScript 物件直接量

admin發表於2018-06-06

JavaScript中,建立物件可以使用建構函式方式。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var obj=new Object();
obj.webName = "螞蟻部落";
obj.address = "青島市南區";

以上程式碼採用建構函式方式建立物件obj,為其新增兩個屬性並賦值。

也可以使用更為簡單的方式建立物件,那就是物件直接量,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var obj = {
  webName: "螞蟻部落",
  address: "青島市南區"
}

物件直接量是由鍵值對列表組成,列表包含在大括號中,屬性名稱和屬性值由冒號分隔,每一個鍵值對之間是用逗號分隔,屬性值可以是任何型別。屬性名稱可以用引號包括也可以不用,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var obj = {
  "webName": "螞蟻部落",
  address: "青島市南區"
}

如果屬性名稱比較特殊,則需要加引號,比如屬性名稱中帶有中劃線,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var obj = {
  webName: "螞蟻部落",
  address: "青島市南區",
  ant-zone:"前端教程"
}

程式碼會報錯,使用引號包裹"ant-zone"可以消除錯誤。

屬性值的設定與訪問:

可以通過點運算子(.)對屬性值進行訪問和設定,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var obj = {
  webName: "螞蟻部落",
  address: "青島市南區"
}
obj.age = 4;
console.log(obj.webName);
console.log(obj.address);
console.log(obj.age);

可以通過類陣列方式,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var obj = {
  webName: "螞蟻部落",
  address: "青島市南區"
}
console.log(obj["webName"]);

如果屬性名稱是數字,那麼必須使用此種方式訪問,否則會報錯。

自ES2015開始,物件直接量進行了若干優化,具體參閱ES2015物件新增特性一章節。

相關文章