MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

物件初始化子的使用

 

物件初始化子的使用

除了使用建構子函數來建立物件以外,你也可以使用物件的初始化子來建立物件。使用物件的初始化子,有時又被稱為以字面表達記法來建立物件。「物件初始化子」與 C++ 的術語一致。

使用物件初始化子的語句如下︰

var obj = { property_1:   value_1,   // 通常以 property_# 代表識別子...
            2:            value_2,   // 或者使用數字...
            ...,
            "property_n": value_n }; // 或者使用字串

此處的 obj 就是新物件的名稱,每一個 property_i 都是識別子(可以是名稱、數字、字串的字面表達),而且每一個 value_i 都是表達式,其值會代入給 property_iobj 和代入動作不是必要的;如果你不需要在其他地方參考這個物件,你就不需要把物件代入給變數。(注意,你也許需要以圓括弧代替花括弧來包裝物件的字面表達,如果預期物件出現的地方會有其他語句,就要避免和區塊語法相混淆。)

如果物件是在最頂層的 Script 中以物件初始化子來建立的,每一次要對內含該物件的字面表達求值時,JavaScript 就會把他解譯成物件。此外,用在函數裡的初始化子,會在每一次呼叫函數的時候建立。

以下的語句建立物件,並把他代入給變數 x,但只在表達式的條件為 true 時如此。

if (cond) x = {hi:"there"};

以下例子使用了三個屬性來建立 myHonda。注意,engine 屬性也是物件,並連結有自己的屬性。

var myHonda = {color:"red",wheels:4,engine:{cylinders:4,size:2.2}};

你也可以使用物件的初始化子來建立陣列。參閱 陣列的字面表達

在 JavaScript 1.1 以後的版本中,你無法再使用物件的初始化子。你只能使用他們的建構子函數或者使用由某些其他用途的物件所提供的函數來建立物件。參閱 建構子函數的使用

文件標籤與貢獻者

 此頁面的貢獻者: teoli, happysadman
 最近更新: teoli,