摘要:一繼承原型式繼承定義臨時構造函數,作為參數傳入對象作為著構造函數原型,并最后返回該構造函數的實例對象定義一個臨時構造函數遍歷對象屬性和方法將函數參數作為函數的原型姜構造函數創造的對象進行返回犬夜叉借助構造函數無論是原型鏈還是原型式繼承,都有
JS(JavaScript)
一.繼承
1.原型式繼承
定義臨時構造函數,作為參數傳入對象作為著構造函數原型,并最后返回該構造函數的實例對象
function Fun(obj,poap) { function Fun() { //定義一個臨時構造函數 for(var attrNome in porp){ //遍歷對象屬性和方法 this[attrNome] = porp[attrNome] } } Fun.prototype = obj; //將函數參數作為函數的原型 return new Fun(); // 姜構造函數創造的對象進行返回 } var obj = { name : "犬夜叉" } var result = fn(obj,{ age : 16, sayMe : function () { console.log("you my function") } }); console.log(result.age); result.sayMe();
2.借助構造函數
無論是原型鏈還是原型式繼承,都有相同的問題,可借助構造函數
子對象構造函數種調用父對象構造函數,可通過調用
apply()和call()方法實現
apply()和cal()方法都準許傳遞對象this,可實現子對象構造函數種調用父對象構造函數時,將子對象this和父對象this捆綁在一起
function Parent() { //定義父級對象的構造函數 this.parent = "parent"; } function call() { //定義子級對象構造函數-使用apply()或call()方法 Parent.call(this); this.child = "child"; } var child = new Child(); console.log(child);
3.組合方式繼承
也叫為經典繼承,將原型鏈或原型式繼承和借助構造函數技術組合在一起,引發其兩種函數的一種繼承方式
使用原型鏈和原型式繼承實現對原型屬性和方法繼承
通過借助構造函數實現對實例對象屬性的繼承
function Parent() { this.name = "犬夜叉" // 構造函數點1自有屬性 } Parent.prototype.age = 16; //構造函數的原型屬性 function child() { parent.call(); //繼承父級構造函數中自有屬性 this.job = "妖狐" } Child.prototype = parent.prototype; var child = new Child(); console.log(child.job); console.log(child.age); console.log(child.name);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108352.html
摘要:之前,本質上不能算是一門面向對象的編程語言,因為它對于封裝繼承多態這些面向對象語言的特點并沒有在語言層面上提供原生的支持。所以在中出現了等關鍵字,解決了面向對象中出現了問題。 ES6之前,javascript本質上不能算是一門面向對象的編程語言,因為它對于封裝、繼承、多態這些面向對象語言的特點并沒有在語言層面上提供原生的支持。但是,它引入了原型(prototype)的概念,可以讓我們以...
摘要:那你們肯定會問為什么共用,而沒有共用呢,下面就給你解釋,請看引用類型是共用的值類型是私用的。 引言 面向對象的編程語言都具繼承這一機制,而 JavaScript 是基于原型(Prototype)面向對象程序設計,所以它的實現方式也是基于原型(Prototype)實現的. 繼承的方式 類式繼承 構造函數繼承 組合繼承 原型式繼承 寄生式繼承 寄生組合式繼承 1.類式繼承 //聲明父...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
閱讀 489·2021-09-03 00:22
閱讀 1365·2021-08-03 14:03
閱讀 2082·2021-07-25 21:37
閱讀 646·2019-08-30 13:18
閱讀 1875·2019-08-29 16:19
閱讀 2682·2019-08-29 13:22
閱讀 1293·2019-08-29 12:16
閱讀 2587·2019-08-26 12:16