1者娱,子類的原型對象——類式繼承
//類式繼承
//聲明父類
function SuperClass() {
this.superValue = true;
}
//為父類添加共有方法
SuperClass.prototype.getSuperValue = function() {
return this.superValue;
};
//聲明子類
function SubClass() {
this.subValue = false;
}
//繼承父類
SubClass.prototype = new SuperClass();
//為子類添加共有方法
SubClass.prototype.getSubValue = function() {
return this.subValue;
}
類式繼承:聲明兩個類额嘿,第一個類的實例賦值給第二個類的原型绢慢。
2饭冬,創(chuàng)建即繼承——構(gòu)造函數(shù)式繼承
//構(gòu)造函數(shù)式繼承
//聲明父類
function SuperClass(id) {
//引用類型共有屬性
this.book = ['javascript', 'html', 'css'];
//值類型共有屬性
this.id = id;
}
//父類聲明原型方法
SuperClass.prototype.showBooks = function() {
console.log(this.books);
}
//聲明子類
function SubClass(id) {
//繼承父類
SuperClass.call(this, id);
}
//創(chuàng)建第一個子類的實例
var instance1 = new SubClass(10);
//創(chuàng)建第二個子類的實例
var instance2 = new SubClass(11);
SuperClass.call(this, id);這條語句是構(gòu)造函數(shù)式繼承的精華无拗,由于call這個方法可以更改函數(shù)的作用環(huán)境,因此在子類中缚柳,對SuperClass調(diào)用這個方法就是將子類中的變量在父類中執(zhí)行一遍,由于父類中是給this綁定屬性的搪锣,因此子類自然也就繼承了父類的共有屬性秋忙。由于這種類型的繼承沒有涉及原型prototype, 所以父類的原型方法自然不會被子類繼承,而如果想要被子類繼承就必須要放在構(gòu)造函數(shù)中构舟,這樣創(chuàng)建出來的每個實例都會單獨擁有一份而不會復(fù)用灰追,這樣就違背了代碼復(fù)用的原則。
js中繼承一
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門免胃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來音五,“玉大人,你說我怎么就攤上這事羔沙√衫裕” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵扼雏,是天一觀的道長坚嗜。 經(jīng)常有香客問我,道長诗充,這世上最難降的妖魔是什么苍蔬? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮蝴蜓,結(jié)果婚禮上碟绑,老公的妹妹穿的比我還像新娘。我一直安慰自己茎匠,他們只是感情好格仲,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诵冒,像睡著了一般凯肋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汽馋,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了便锨?” 一聲冷哼從身側(cè)響起围辙,我...
- 正文 年R本政府宣布流礁,位于F島的核電站涕俗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏神帅。R本人自食惡果不足惜再姑,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望枕稀。 院中可真熱鬧询刹,春花似錦、人聲如沸萎坷。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽哆档。三九已至蔽挠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓜浸,已是汗流浹背澳淑。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- > 此篇總結(jié)與《JavaScript設(shè)計模式》github地址 [YOU-SHOULD-KNOW-JS](http...
- 寫在前面 既然是淺談冬殃,就不會從原理上深度分析,只是幫助我們更好地理解... 面向?qū)ο笈c面向過程 面向?qū)ο蠛兔嫦蜻^程...
- 2016.9.9 第6章 原型與面向?qū)ο?原型雖然是定義對象的一種很方便的方式叁怪,但它的本質(zhì)依然是函數(shù)特性审葬。 使用原...
- 面向?qū)ο缶幊?1.創(chuàng)建,使用函數(shù) var CheckObject = {checkName : function(...