理解JavaScript中的對象
JavaScript中對象的簡介
我們知道生活中客觀存在的一切事物皆為對象,那在程序中的對象是什么樣子呢?我們可以將程序中的對象理解為客戶端世界中的對象在一種計算機中的一種表示方式.所有的編程語言中提到的對象其性質都是類似的,它往往對應內存中的一塊區域,在這個區域中存儲對象的屬性或方法信息。
JavaScript中對象的創建
基于{}符號創建對象
在JS中我們可以直接基于{}定義對象,在對象內容定義屬性和方法,例如:
在JS中我們可以將對象理解為用于封裝屬性和方法的一個結構體,例如
如果需要反復創建多個相同結構的對象時,用{}代碼就很冗余——重復。也不便于維護!
基于構造函數創建對象
假如在JS中我們希望非常方便的定義多個結構相同,但屬性值不同的對象,可以直接基于構造函數( 定義同一類型多個對象的相同屬性結構的特殊函數)進行對象創建,例如:
建議:只要反復創建多個相同結構的對象,都要用構造函數來創建對象.
在實際應用中我們盡量不要在構造函數中再去定義函數,例如:
這樣在構建對象時,可能每次都需要開辟額外的函數空間.
JavaScript中的對象特性
封裝特性
JS中的對象用于封裝屬性和方法.如圖所示:
繼承特性
JS中為了實現屬性或方法的可重用性,提供了一種繼承機制,
這種繼承的方式需要借助Prototype對象去實現,Prototype對象是在定義構造函數時自動創建,用于存儲所有共有屬性和方法的一個對象,所有通過此構造函數構建的對象都繼承這個原型對象.
構造函數中的原型對象分析,如圖所示:
原型對象(ProtoType)對象的繼承,如圖所示:
在對象中添加共有屬性,如圖所示:
在對象中添加共有方法的.如圖所示:
原型鏈是由多級父對象(原型對象)逐級繼承形成的鏈式結構。這個原型鏈保存著一個對象可以訪問的所有父級原型對象,以及這個對象可訪問到的所有屬性和方法。
多態特性
多態一般指同一個函數(行為),在不同情況下表現中的不同的狀態。從應用上有兩種形式,分別為重載和重寫。
重載的定義:一個函數,根據傳入的實參值不同,執行不同的邏輯。
重寫的定義:在子對象中定義一個和父對象中成員同名的成員。只要從父對象繼承來的東西不好用,就用重寫自己的!
在子對象中定義一個和父對象中成員同名的自有成員,例如:
JavaScript內置對象類型
對象類型簡介
JavaScript中對象的類型可以理解為構造方法和原型對象的結合體,當我們需要查看其對象類型時,可以通過構造方法名.
JS中內置的對象類型
JS中有11種內置對象類型,分別為String, Number, Boolean, Array, Date, RegExp, Math(對象), Error, Function, Object, global(對象)
總結(Summary)
本小節主要是對JS中對象做了簡介,并通過實踐方式分析JS中對象的創建,對象特性以及對象內置類型。
以上就是理解JavaScript中的對象的詳細內容,更多關于JavaScript 對象的資料請關注好吧啦網其它相關文章!
相關文章:
