天天看點

#yyds幹貨盤點#複合資料類型–Object類型

#yyds幹貨盤點#複合資料類型–Object類型

ECMAScript中的Object的對象類型,是一種比較複雜的複合資料類型。它本質上包含了部分資料類型,比如數組、函數資料類型、DOM其實等都屬于Object對象。對象可以通過執行new操作符後跟要建立的對象類型的名稱來建立。而建立Object類型的執行個體并為其添加屬性或方法,就可以自定義對象,如下所示:

#yyds幹貨盤點#複合資料類型–Object類型

這個文法其實和Java中建立對象的文法類似;不過在ECMAScript中,對象建立有個特點,如果不需要傳入參數的話,則可以省略後面的括号。也就是說,類似于上述的案例,在不傳遞參數的情況下,可以這樣去寫:

#yyds幹貨盤點#複合資料類型–Object類型

僅僅建立 Object 的執行個體并沒有什麼用處,但關鍵是要了解一個重要的思想:即在 ECMAScript中,(就像Java中的 java.lang.Object 對象一樣) Object 類型是所有它 的執行個體的基礎。換句話說, Object 類型所具有的任何屬性和方法也同樣存在于更具 體的對象中。

Object 的每個執行個體都具有下列屬性和方法:

constructor :儲存着用于建立目前對象的函數。對于前面的例子而言,構造函數(constructor)就是 Object() 。

hasOwnProperty(propertyName) :用于檢查給定的屬性在目前對象執行個體中(而不是在執行個體的原型中)是否存在。其中,作為參數的屬性名(propertyName )必須以字元串形式指定(例如:o.hasOwnProperty(“name”) )。

isPrototypeOf(object) :用于檢查傳入的對象是否是另一個對象的原型。

propertyIsEnumerable(propertyName) :用于檢查給定的屬性是否能夠使用 for in 語句來枚舉。與 hasOwnProperty() 方法一樣,作為參數的屬性名必須以字元串形式指定。

toLocaleString() :傳回對象的字元串表示,該字元串與執行環境的地區對應。

toString() :傳回對象的字元串表示。

valueOf() :傳回對象的字元串、數值或布爾值表示。通常與 toString() 方法的傳回值相同。