索引
對于丑陋的事物,愛會閉目無視。———威廉· 莎士比亞,《維洛那二紳士(The Two Gentlemen of Verona)》
JavaScript的簡單類型包裹數字、字符串、布爾值(true和flase)、null 值和 undefined 值。其他所有值對象。數字、字符串和布爾值“貌似”對象,因為它們擁有方法,但它們是不可變的。JavaScript中的對象是可變的鍵控集合(keyed collections)。在JavaScript中,數組是對象,函數是對象,正則表達式是對象,當然,對象自然也是對象。
對象是屬性的兼容期,其中每個屬性都擁有名字和值。屬性的名字可以是包括空字符串在內的任意字符串。屬性值可以是除undefined值之外的任何值。
JavaScript中的對象是無類別(class-free)的。它對新屬性的名字和值沒有約束。對象適合用語手機和管理數據。對象也可以包含其他對象,舉個簡單的例子,拿你對象來說他/她是你的對象,但是他/她也擁有屬于他/她的對象,世界萬物皆對象,是存在不同維度的。對象適合用語手機和管理數據。對象可以包含其他對象,所以它們可以容易的表示成樹形或圖形結構。
JavaScript 包括一個原型鏈接特性,允許對象繼承另外一對象的屬性。正確的使用它能減少對象初始化的時間和內存的消耗。
對象字面量
對象字面量提供了一種非常方便創建對象值的表示法。一個對象字面量就是包圍在一堆花括號的零或多個“名/值”對。對象字面量可以出現在任何允許表達式出現的地方。讓我們來看下面這段代碼:
var empty_object = ();
var stoge = {
"first - name": "Jerome"
"last- name": "Howard"
};
屬性名是可以包括字符串在內的任何字符串。在對象面量中,如果屬性名是一個合法的JavaScript 標識符且不是保留字,并且不強制要求用引號括住屬性名。所以用引括住"first - name"是必須的,但是否括住 first - name 則是可選的。逗號用來分隔“名/值”對。
如有想一起進步的小伙伴們可來鄙人的交流學習群:621071874。
屬性的值可以包括另一個對象字面量在內的任意表達式中獲得。對象是可嵌套的,如下代碼:
var flaight ={
airline: "Oceanic",
number: 815,
departure:{
IATA: "SYD",
time: "2004-09-22 14:55",
city: "Sydeny"
},
arrival:{
IATA: "LAX"
time: " 2004-09-23 10:42"
city: "Los Angeles"
}
};
這就是所謂的面向字面量對象。
我們不寫程序的,我們只是代碼的搬運工。