JS物件 繼承

2022-09-10 08:36:08 字數 1310 閱讀 6105

js物件定義的方法:

方法一:通過var object={}  物件字面量

(1),可以叫物件直接量來自定義乙個物件。物件自面量是乙個表示式,這個表示式的每次運算都建立並初始化乙個新物件

(2) 還可以換行寫,每義定乙個屬性名和值,用逗號分開,最後乙個不加逗號,加了會被忽略,但在ie中會報錯,最好不要加

方法二:通過 var obj = new object();建立物件

1、建立乙個空白的object物件

2、給建立的物件新增屬性和方法

通過object.create來建立物件

方法三:通過建構函式來建立物件

通過instanceof操作符可以檢測乙個物件是否由某個指定的構造器函式來建立的物件

注意:使用的時候可以通過new操作符得到物件。

用構造器建立物件的時候可以接收引數

構造器函式的首首字母最好大寫,區別其他的一般函式

js繼承:

實現繼承的方式一:原型鏈

實現方法:

a原型的例項是b原型的屬性

不要忘記原型鏈中預設存在object

子類新增方法或重寫超類方法要放在替換原型語句之後

通過原型鏈實現繼承後,不能使用物件字面量的方式建立方法和屬性,因為會重寫原型鏈

通過原型鏈實現繼承後,超類的引用型別屬性會被所有例項共享

實現繼承的方式二:借用建構函式

實現方法:

可以給建構函式傳遞引數,但無法進行函式復用

實現繼承的方式三:組合繼承

實現方法:

使用原型鏈實現對原型屬性和方法的繼承,借用建構函式實現對例項屬性的繼承

隱患:呼叫兩次父類建構函式(1call()方法,2new supertype() )

實現繼承的方式四:原型式繼承

以乙個物件為基礎,生成新物件,再對新物件進行修改

超類引用型別的屬性依然是共享的

實現繼承的方式五:寄生式繼承

建立乙個僅用來實現繼承過程的函式,並在函式內部擴充套件物件,再將物件返回

此時父類的引用型別屬性依然是被所有例項共享

實現繼承的方式六:寄生組合式繼承

通過借用建構函式來繼承屬性,通過原型鏈混成來繼承方法

減少了一次父類建構函式的執行,父類引用型別的屬性不被共享

js物件繼承

自有屬性 own property 物件本身具有的屬性 繼承屬性 從原型物件 prototype object 繼承而來 物件的查詢過程 查詢過程中,查詢物件o的屬性x,如果o的屬性不存在x,則對o的原型物件進行查詢,使原型鏈查詢。屬性賦值操作過程 屬性賦值過程中,先檢查原型鏈,以此判斷是否允許賦值...

js中物件繼承

一,js中物件繼承 js中有三種繼承方式 1.js原型 prototype 實現繼承 複製 如下 2.建構函式實現繼承 複製 如下 複製 如下 js手冊中對call的解釋 複製 如下 call 方法 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。call thisobj arg1 arg2 ar...

JS物件導向 繼承

參考博文 一 物件導向的繼承 1 解析 在原有物件的基礎上,略作修改,得到乙個新的物件,並且不影響原有物件的功能 2 如何新增繼承 拷貝繼承 屬性 call 方法 for in 繼承 子類不影響父類,子類可以繼承父類的一些功能 復用 屬性的繼承 呼叫父類的構造1函式 call 方法的繼承 for i...