1. 程式人生 > 程式設計 >理解JavaScript中的物件

理解JavaScript中的物件

JavaScript中物件的簡介

我們知道生活中客觀存在的一切事物皆為物件,那在程式中的物件是什麼樣子呢?我們可以將程式中的物件理解為客戶端世界中的物件在一種計算機中的一種表示方式.所有的程式語言中提到的物件其性質都是類似的,它往往對應記憶體中的一塊區域,在這個區域中儲存物件的屬性或方法資訊。

JavaScript中物件的建立

基於{}符號建立物件

在JS中我們可以直接基於{}定義物件,在物件內容定義屬性和方法,例如:

理解JavaScript中的物件

在JS中我們可以將物件理解為用於封裝屬性和方法的一個結構體,例如

理解JavaScript中的物件

如果需要反覆建立多個相同結構的物件時,用{}程式碼就很冗餘——重複。也不便於維護!

基於建構函式建立物件

假如在JS中我們希望非常方便的定義多個結構相同,但屬性值不同的物件,可以直接基於建構函式( 定義同一型別多個物件的相同屬性結構的特殊函式)進行物件建立,例如:

理解JavaScript中的物件

建議:只要反覆建立多個相同結構的物件,都要用建構函式來建立物件.

在實際應用中我們儘量不要在建構函式中再去定義函式,例如:

理解JavaScript中的物件

這樣在構建物件時,可能每次都需要開闢額外的函式空間.

JavaScript中的物件特性

封裝特性

JS中的物件用於封裝屬性和方法.如圖所示:

理解JavaScript中的物件

繼承特性

JS中為了實現屬性或方法的可重用性,提供了一種繼承機制,

這種繼承的方式需要藉助Prototype物件去實現,Prototype物件是在定義建構函式時自動建立,用於儲存所有共有屬性和方法的一個物件,所有通過此建構函式構建的物件都繼承這個原型物件.

建構函式中的原型物件分析,如圖所示:

理解JavaScript中的物件

原型物件(ProtoType)物件的繼承,如圖所示:

理解JavaScript中的物件

在物件中新增共有屬性,如圖所示:

理解JavaScript中的物件

在物件中新增共有方法的.如圖所示:

理解JavaScript中的物件

原型鏈是由多級父物件(原型物件)逐級繼承形成的鏈式結構。這個原型鏈儲存著一個物件可以訪問的所有父級原型物件,以及這個物件可訪問到的所有屬性和方法。

多型特性

多型一般指同一個函式(行為),在不同情況下表現中的不同的狀態。從應用上有兩種形式,分別為過載和重寫。

過載的定義:一個函式,根據傳入的實參值不同,執行不同的邏輯。

重寫的定義:在子物件中定義一個和父物件中成員同名的成員。只要從父物件繼承來的東西不好用,就用重寫自己的!

在子物件中定義一個和父物件中成員同名的自有成員,例如:

理解JavaScript中的物件

JavaScript內建物件型別

物件型別簡介

JavaScript中物件的型別可以理解為構造方法和原型物件的結合體,當我們需要檢視其物件型別時,可以通過構造方法名.

JS中內建的物件型別

JS中有11種內建物件型別,分別為String,Number,Boolean,Array,Date,RegExp,Math(物件),Error,Function,Object,global(物件)

總結(Summary)

本小節主要是對JS中物件做了簡介,並通過實踐方式分析JS中物件的建立,物件特性以及物件內建型別。

以上就是理解JavaScript中的物件的詳細內容,更多關於JavaScript 物件的資料請關注我們其它相關文章!