建構函式,原型物件,

2021-10-22 18:30:59 字數 1672 閱讀 8224

概念:如果函式中的邏輯生成乙個物件的並將其返回,我們就將其稱之為建構函式

回顧,普通函式,如下圖

(一)、建構函式嚴格意義就是用來生物件的

示例:用普通函式模擬的建構函式

(二)、建構函式是必須通過new這個關鍵字呼叫的(要改變this的指向)也稱為 例項化乙個物件(執行這個函式,生成乙個物件),它的作用就是在普通函式中替我們生成了乙個物件,並在最後給我們retrun出去,也就是如下紅線標註所示!去掉紅圈部分,就是乙個標準的建構函式,宣告建構函式是首字母要大些!

同時在函式中也可以 給物件附函式,如圖

理解定義:在建構函式中,每乙個建構函式都有prototype屬性,每次例項化這個物件時(也就是用new呼叫時),都會有這個建構函式自帶的屬性,每個new的例項物件都會帶有(如上圖中的this.type),這樣會佔記憶體的,所以在每乙個建構函式中都會有原型物件prototype。 是建構函式 構造加工物件加工廠的後院。

原型物件prototype 是用來存放建構函式共有的屬性的,在每次new的例項化物件都會帶有這個公共屬性,如何給建構函式新增(比如這個建構函式是person),如下圖: 新增成功後,每個例項化物件都會有 type了,比如

下圖中 wdw.type 結果就是 「靈長類」

在js中已經規定好了,乙個例項化物件在呼叫屬性和方法是,先在這個物件中找,如果在沒有的情況下,會自己向建構函式原型物件中找,如果有,會直接使用.

在三者中的關係可以如上圖所示,建構函式的prototype 的指向與例項化物件的__proto__指向,是相同的,都是指向了原型物件(加工廠的後院),而例項化物件的constructor的指向則是這是建構函式的本身(不包括原型物件 )let wdw = new persion() 。。。。 console. log (wdw.constructor)

如圖下所示,也就是建構函式是所定義在物件自身的屬性

(一)、對js本地物件做擴充套件

在js中萬物皆物件,只要是 點 什麼的,點前面的就是個物件,比如字串, let str = 「在錯誤的時間喜歡上了想守護一輩子的你」 這個str 就是個物件,是字串物件 str.replace("")! 比如給字串新增個反轉的方法,如下圖:

謝謝各位大佬的**,如有不足,多多指教,記得點點關注呦!

建構函式 原型物件

物件都會有乙個屬性 proto 指向建構函式的prototype原型物件,之所以我們物件可以使用建構函式prototype原型物件的屬性和方法,就是因為物件有 proto 原型的存在 body p 建構函式 原型物件 p p 雖然構造物件上沒有sing方法,但是原型物件上有,因為 proto 的存在...

物件導向 建構函式 原型物件

3.建構函式的執行過程 4.建構函式的返回值 5.與普通函式的區別 原型物件 物件的封裝 proto 繼承使用prototype實現繼承 組合式繼承 定義 在js中,使用new關鍵字來呼叫的函式,被稱為建構函式。建構函式的作用 建立物件。假如需要建立多個類似的物件,我們會書寫很多重複的無意義 此時我...

建構函式 原型物件小記

object是建構函式,而object.prototype是建構函式的原型物件。建構函式自身的屬性和方法無法被共享,而原型物件的屬性和方法可以被所有例項物件所共享。首先,建構函式是生成物件的模板,乙個建構函式可以生成多個物件,每個物件都有相同的結構。建構函式的缺點就是每當例項化兩個物件時,需要呼叫兩...