摘要:先上例子動(dòng)物定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對(duì)這個(gè)問題,在方法中要在中進(jìn)行體現(xiàn)對(duì)函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動(dòng)物添加代碼定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動(dòng)物
先上例子:
function Animal(){ this.type="動(dòng)物"; } function Cat(name, color){ this.name=name; this.color=color; } //定義繼承函數(shù) function extend(Child, Parent){ var Fn=function(){}; Fn.prototype=Parent.prototype; Child.prototype=new Fn(); Child.prototype.constructor=Child; Child.uber=Parent.prototype;//這里的uber是個(gè)名稱,可以隨意命名 } //執(zhí)行函數(shù) extend(Cat, Animal); var cat_1=new Cat("kate", "white"); alert(cat_1.type);//輸出結(jié)果是undefined
針對(duì)這個(gè)問題,在extend方法中uber要在Cat中進(jìn)行體現(xiàn)
對(duì)Cat函數(shù)添加
Cat.uber.constructor.call(this);
修改后的代碼(感興趣打開連接---工程師的福利導(dǎo)航):
function Animal(){ this.type="動(dòng)物"; } function Cat(name, color){ Cat.uber.constructor.call(this); //添加代碼 this.name=name; this.color=color; } //定義繼承函數(shù) function extend(Child, Parent){ var Fn=function(){}; Fn.prototype=Parent.prototype; Child.prototype=new Fn(); Child.prototype.constructor=Child; Child.uber=Parent.prototype;//這里的uber是個(gè)名稱,可以隨意命名 } //執(zhí)行函數(shù) extend(Cat, Animal); var cat_1=new Cat("kate", "white"); alert(cat_1.type);//輸出結(jié)果是 動(dòng)物
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/80023.html
摘要:先上例子動(dòng)物定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對(duì)這個(gè)問題,在方法中要在中進(jìn)行體現(xiàn)對(duì)函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動(dòng)物添加代碼定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動(dòng)物 先上例子: function Animal(){ this.type=動(dòng)物; } function Cat(name, color){ ...
摘要:先上例子動(dòng)物定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是針對(duì)這個(gè)問題,在方法中要在中進(jìn)行體現(xiàn)對(duì)函數(shù)添加修改后的代碼感興趣打開連接工程師的福利導(dǎo)航動(dòng)物添加代碼定義繼承函數(shù)這里的是個(gè)名稱,可以隨意命名執(zhí)行函數(shù)輸出結(jié)果是動(dòng)物 先上例子: function Animal(){ this.type=動(dòng)物; } function Cat(name, color){ ...
摘要:動(dòng)物還有一個(gè)貓對(duì)象的構(gòu)造函數(shù)。這顯然會(huì)導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動(dòng)糾正,將對(duì)象的值改為。這是很重要的一點(diǎn),請(qǐng)務(wù)必注意如果替換了對(duì)象,下一步必然是為新的對(duì)象加上屬性,并將這個(gè)屬性指回原來的構(gòu)造函數(shù)。 原文鏈接 現(xiàn)在有一個(gè)動(dòng)物對(duì)象的構(gòu)造函數(shù)。 function Animal() { this.species = 動(dòng)物; } 還有一個(gè)貓對(duì)象的構(gòu)造函數(shù)。 fun...
摘要:的構(gòu)造函數(shù)是什么它是一個(gè)普通的函數(shù)它內(nèi)部用了關(guān)鍵字它有一個(gè)屬性,這個(gè)是一個(gè)對(duì)象當(dāng)然,其實(shí)每一個(gè)函數(shù)都有屬性這個(gè)上面是可以被繼承的屬性可被繼承的屬性以上是一個(gè)從原型對(duì)象生成實(shí)例對(duì)象的例子。 1: JavaScript的構(gòu)造函數(shù)是什么? 1: 它是一個(gè)普通的函數(shù) 2: 它內(nèi)部用了this關(guān)鍵字 3: 它有一個(gè)prototype屬性,這個(gè)prototype是一個(gè)對(duì)象(當(dāng)然,其實(shí)每一個(gè)函數(shù)都有...
摘要:這個(gè)模式感覺一一般和工廠模式一起使用的比較多比較方便結(jié)構(gòu)型模式這些設(shè)計(jì)模式關(guān)注類和對(duì)象的組合。設(shè)計(jì)模式這些設(shè)計(jì)模式特別關(guān)注表示層。 設(shè)計(jì)模式的的六大原則: 學(xué)習(xí)設(shè)計(jì)模式之前最好先了解一下設(shè)計(jì)模式的設(shè)計(jì)原則: 1. 開閉原則(open close principle) 開放即指對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉 簡(jiǎn)而言之,就是擴(kuò)展功能的時(shí)候應(yīng)該盡量的不修改原有的代碼。 2. 里氏代換原則(lisko...
閱讀 994·2023-04-25 15:42
閱讀 3584·2021-11-02 14:38
閱讀 2886·2021-09-30 09:48
閱讀 1419·2021-09-23 11:22
閱讀 3379·2021-09-06 15:02
閱讀 3186·2021-09-04 16:41
閱讀 607·2021-09-02 15:41
閱讀 2012·2021-08-26 14:13