js-繼承

一突那、構(gòu)造函數(shù)綁定
使用call或apply方法剔交,將父對(duì)象的構(gòu)造函數(shù)綁定在子對(duì)象上铃剔,即在子對(duì)象構(gòu)造函數(shù)中加一行聪姿。Animal.apply(this, arguments);
二芝加、prototype模式
  Cat.prototype = new Animal();
  Cat.prototype.constructor = Cat; //糾回prototype對(duì)象的constructor值
三查剖、直接繼承
  function Animal(){ }
  Animal.prototype.species = "動(dòng)物";
將Cat的prototype對(duì)象洁桌,然后指向Animal的prototype對(duì)象荤牍,這樣就完成了繼承
Cat.prototype = Animal.prototype;
  Cat.prototype.constructor = Cat;
與前一種方法相比尸折,這樣做的優(yōu)點(diǎn)是效率比較高(不用執(zhí)行和建立Animal的實(shí)例了)啰脚,比較省內(nèi)存。缺點(diǎn)是 Cat.prototype和Animal.prototype現(xiàn)在指向了同一個(gè)對(duì)象实夹,那么任何對(duì)Cat.prototype的修改橄浓,都會(huì)反映到Animal.prototype。
四亮航、非構(gòu)造函數(shù)的繼承
1荸实、使用object()方法
  function object(o) {
    function F() {}
    F.prototype = o;
    return new F();
  }
var Doctor = object(Chinese);
2、淺拷貝
把父對(duì)象的屬性塞赂,全部拷貝給子對(duì)象泪勒,也能實(shí)現(xiàn)繼承。
function extendCopy(p) {
    var c = {};
    for (var i in p) {
      c[i] = p[i];
    }
    c.uber = p;
    return c;
  }
var Doctor = extendCopy(Chinese);
  Doctor.career = '醫(yī)生';
  alert(Doctor.nation); // 中國
這樣的拷貝有一個(gè)問題宴猾。那就是圆存,如果父對(duì)象的屬性等于數(shù)組或另一個(gè)對(duì)象,那么實(shí)際上仇哆,子對(duì)象獲得的只是一個(gè)內(nèi)存地址沦辙,而不是真正拷貝,因此存在父對(duì)象被篡改的可能讹剔。
3油讯、深拷貝
所謂"深拷貝"详民,就是能夠?qū)崿F(xiàn)真正意義上的數(shù)組和對(duì)象的拷貝。它的實(shí)現(xiàn)并不難陌兑,只要遞歸調(diào)用"淺拷貝"就行了沈跨。
function deepCopy(p, c) {
    var c = c || {};
    for (var i in p) {
      if (typeof p[i] === 'object') {
        c[i] = (p[i].constructor === Array) ? [] : {};
        deepCopy(p[i], c[i]);
      } else {
         c[i] = p[i];
      }
    }
    return c;
  }
//更改子對(duì)象不會(huì)影響父對(duì)象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兔综,一起剝皮案震驚了整個(gè)濱河市饿凛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌软驰,老刑警劉巖涧窒,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锭亏,居然都是意外死亡纠吴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門慧瘤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戴已,“玉大人,你說我怎么就攤上這事碑隆」Ф福” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵上煤,是天一觀的道長休玩。 經(jīng)常有香客問我,道長劫狠,這世上最難降的妖魔是什么拴疤? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮独泞,結(jié)果婚禮上呐矾,老公的妹妹穿的比我還像新娘。我一直安慰自己懦砂,他們只是感情好蜒犯,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荞膘,像睡著了一般罚随。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上羽资,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天淘菩,我揣著相機(jī)與錄音,去河邊找鬼屠升。 笑死潮改,一個(gè)胖子當(dāng)著我的面吹牛狭郑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播汇在,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼翰萨,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了趾疚?” 一聲冷哼從身側(cè)響起缨历,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎糙麦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丛肮,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赡磅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宝与。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焚廊。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖习劫,靈堂內(nèi)的尸體忽然破棺而出咆瘟,到底是詐尸還是另有隱情,我是刑警寧澤诽里,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布袒餐,位于F島的核電站,受9級(jí)特大地震影響谤狡,放射性物質(zhì)發(fā)生泄漏灸眼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一墓懂、第九天 我趴在偏房一處隱蔽的房頂上張望焰宣。 院中可真熱鬧,春花似錦捕仔、人聲如沸匕积。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闪唆。三九已至,卻和暖如春斜做,著一層夾襖步出監(jiān)牢的瞬間苞氮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國打工瓤逼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笼吟,地道東北人库物。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像贷帮,于是被迫代替她去往敵國和親戚揭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 開山例子 需求:學(xué)生交學(xué)費(fèi)撵枢,中學(xué)生打8折民晒;小學(xué)生打5折,然后通過打印的方法锄禽,顯示學(xué)生的名字潜必、年齡記應(yīng)繳學(xué)費(fèi)。 我們...
    jayafs閱讀 568評(píng)論 0 50
  • 1:原型繼承 為了讓子類繼承父類的屬性(也包括方法)沃但,首先需要定義一個(gè)構(gòu)造函數(shù)磁滚。然后,將父類的新實(shí)例賦值給構(gòu)造函數(shù)...
    codeSirCao閱讀 240評(píng)論 0 0
  • 繼承大致分為兩類: ——基于構(gòu)造器工作模式 ——基于對(duì)象模式 1宵晚、原型鏈法(仿傳統(tǒng))——使用原...
    CollinHsu閱讀 319評(píng)論 0 0
  • 這個(gè)系列的第一部分垂攘,主要介紹了如何"封裝"數(shù)據(jù)和方法,以及如何從原型對(duì)象生成實(shí)例淤刃。 今天要介紹的是晒他,對(duì)象之間的"繼...
    云端漫記閱讀 225評(píng)論 0 0
  • 發(fā)動(dòng)機(jī) (1)按照所用燃料分類 內(nèi)燃機(jī)按照所使用燃料的不同可以分為汽油機(jī)和柴油機(jī)。使用汽油為燃料的內(nèi)燃機(jī)稱為汽油機(jī)...
    卓銳_151a閱讀 431評(píng)論 0 3