亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS偽繼承prototype實現方法示例

2019-11-19 13:38:05
字體:
來源:轉載
供稿:網友

本文實例講述了JS偽繼承prototype實現方法。分享給大家供大家參考,具體如下:

眾所周知JS中沒有類的概念,但是要想實現類的功能可以同過function模擬。如:

第一種繼承 (屬性繼承)

  //該函數相當于是一個構造器,也是一個偽類  function Fn(){    this.a = 4;    this.b = 5;    this.log = function(){      console.log(this.a,this.b);    }  }  function Fn1(){    Fn.call(this);//調用父類的構造函數  }  Fn1.prototype = Fn.prototype;  var fn = new Fn();  var fn1 = new Fn1();  //由此可見Fn1 是fn1的子類。  fn1 instanceof Fn; // true  fn instanceof Fn1; // true  fn.a = 5;  //由此可見Fn1 繼承了 Fn得所有屬性和方法  //而是是復制了一份Fn的屬性和方法,并不是對象的引用。  console.log(fn.a); // 5  console.log(fn1.a); // 4  this.log(); // 4 5

總結: 這種繼承,是重新拷貝一份放入內存中,他們的值互相獨立,修改一個不會改變另一個。

第二種繼承 原型繼承(prototype)

  function Fn(){}  Fn.prototype.data = {    name: 'zhangsan'  }  Fn.prototype.getName = function(){    return this.data.name;  }  function Fn1(){}  //原型鏈繼承  Fn1.prototype = Fn.prototype;  var fn = new Fn();  var fn1 = new Fn1();  //所用Fn1 繼承了 Fn  fn1 instanceof Fn;//true  console.log(fn1.getName()); // zhangsan  console.log(fn.getName()); // zhangsan  //修改了fn的name屬性值  fn.data.name = 'lisi';  // 由此我們可看出 原型鏈繼承 是 引用繼承  //不會重新拷貝一份變量。就像對象的引用一樣。  console.log(fn.getName()); // lisi  console.log(fn1.getName()); // lisi

兩種類的寫法造成示例的區別

  //第一種  function Fn(){    this.a = 4;    this.b = 5;    this.log = function(){      console.log(this.a,this.b);    }  }  var fn1 = new Fn();  var fn2 = new Fn();  fn1.a = 1;  //由此可以看出兩個對象互不影響  //說明每個對象里都存在一份a和b  fn1.log(); // 1 5  fn2.log(); // 4 5  //第二種  function Fn(){}  fn.prototype.name = 'zhangsan';  fn.prototype.data = {    a: 4,    b: 5  }  fn.prototype.log = function(){    console.log(this.data.a,this.data.b);  }  var fn1 = new Fn();  var fn2 = new Fn();  fn1.a = 1;  //由此可見就算是不同的示例他們他們所指向的值是同一個。  fn1.log();//1 5  fn2.log();//1 5  fn2.name = 'lisi';  //這里fn1.name并沒有被修改  console.log(fn1.name); //zhangan  console.log(fn2.name); // lisi

總結

類中直接this. 出來的屬性和方法都會直接復制一份給子類或者實例對象。個子類或實例對象之間互不影響。

使用prototype增加的屬性和方法,對象類型的只有一份,值類型的這會被復制。

收獲

由于函數都是通用的,所以比較上面兩種方法,第二種明顯比第一種性能要好的多,因為避免了沒有必要的復制,肯定會比較節省內存。所以以后寫類的時候,盡量使用第二種方式。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久免费视频网站| 欧美日韩国产在线| 欧美日韩免费区域视频在线观看| 2023亚洲男人天堂| 欧美激情精品在线| 亚洲伊人一本大道中文字幕| 1769国内精品视频在线播放| 日韩免费av片在线观看| 欧美影院成年免费版| 欧美日韩在线免费观看| 国产精品高清免费在线观看| 日韩有码视频在线| 国产91热爆ts人妖在线| 亚洲成人av片| 日产精品久久久一区二区福利| 日韩精品免费在线| 日韩av在线网站| 国产精品久久久久秋霞鲁丝| 久久网福利资源网站| 日韩国产高清污视频在线观看| 国产日韩欧美成人| 在线电影欧美日韩一区二区私密| 成人av.网址在线网站| 欧美激情在线视频二区| 亚洲精品小视频| 亚洲精品电影在线观看| 色香阁99久久精品久久久| 免费成人高清视频| 国产精品6699| 日韩精品视频在线观看网址| 午夜精品久久久久久久99热| 亚洲网站在线看| 欧美另类69精品久久久久9999| 色av吧综合网| 日韩免费av片在线观看| 日韩亚洲第一页| 日韩精品在线影院| 欧美激情在线播放| 日韩美女视频免费看| 久久777国产线看观看精品| 亚洲精品动漫100p| 综合av色偷偷网| 中文字幕成人在线| 亚洲欧美三级在线| 欧美色欧美亚洲高清在线视频| 亚洲最新中文字幕| 庆余年2免费日韩剧观看大牛| 久久精品一本久久99精品| 日韩中文字幕精品视频| 中文字幕欧美在线| 亚洲天堂一区二区三区| 韩剧1988在线观看免费完整版| 欧洲一区二区视频| 日韩av三级在线观看| 2020欧美日韩在线视频| 欧美成人第一页| 亚洲品质视频自拍网| 欧美日本在线视频中文字字幕| 国产精品视频大全| 精品久久久久久中文字幕| 国产亚洲欧洲黄色| 欧美激情精品久久久久久| 亚洲人成伊人成综合网久久久| 91精品免费久久久久久久久| 国产精品成久久久久三级| 97av在线播放| 中文字幕自拍vr一区二区三区| 国产一区二区三区中文| 国产精品wwwwww| 91九色综合久久| 性色av一区二区三区红粉影视| 日韩一区二区欧美| 国产欧美日韩中文字幕| 国产精自产拍久久久久久蜜| 亚洲福利视频二区| 欧美野外猛男的大粗鳮| 亚洲视频在线观看视频| 日韩三级影视基地| 久久久久久久久网站| 国内精品400部情侣激情| 亚洲国产精品久久久久秋霞不卡| 中文字幕亚洲字幕| 精品久久久久久中文字幕| 久久精品亚洲94久久精品| 国产午夜精品麻豆| 日韩欧美中文免费| 操91在线视频| 在线视频欧美日韩| 亚洲午夜性刺激影院| 国产精品电影在线观看| 亚洲国产精彩中文乱码av| 色伦专区97中文字幕| 亚洲毛片在线观看| 91免费国产网站| 成人国产在线激情| 日韩在线免费视频观看| 国产精品wwww| 午夜精品国产精品大乳美女| 在线亚洲男人天堂| 亚洲日韩欧美视频一区| 精品高清一区二区三区| 亚洲最大中文字幕| 日韩激情av在线免费观看| 国产999精品视频| 欧美一区视频在线| 综合136福利视频在线| 日韩成人黄色av| 国产成人精品日本亚洲专区61| 在线不卡国产精品| 久久久极品av| 亚洲福利在线看| 国产aaa精品| 97精品国产97久久久久久春色| 国内精品久久久| 亚洲精品美女久久久| 国产精品高潮呻吟久久av无限| 精品动漫一区二区三区| 91精品视频在线播放| 日韩av手机在线看| 国产精品十八以下禁看| 97精品免费视频| 一个人看的www久久| 亚洲综合第一页| 九九精品在线播放| 亚洲白虎美女被爆操| 国产精品电影网站| 亚洲成人av片在线观看| 亚洲精品视频网上网址在线观看| 成人在线一区二区| 日韩视频一区在线| 成人网在线观看| 色哟哟网站入口亚洲精品| 欧美视频在线观看免费网址| 97精品在线视频| 在线日韩欧美视频| 欧美床上激情在线观看| 国产成人精品在线观看| 日韩精品免费在线视频| 亚州精品天堂中文字幕| 亚洲欧美一区二区三区情侣bbw| 午夜美女久久久久爽久久| 亚洲欧美日韩另类| 日韩成人在线观看| 欧美做受高潮1| 热99久久精品| 精品国产网站地址| 欧美日韩精品在线| 色综合亚洲精品激情狠狠| 欧美日韩国产在线| 中文字幕av一区中文字幕天堂| 久久久999精品视频| 亚洲国产精品久久91精品| 国产网站欧美日韩免费精品在线观看| 国产成人精品综合| 在线播放日韩欧美| 中文字幕av一区二区三区谷原希美| 91久久精品一区| 久久亚洲精品中文字幕冲田杏梨| 欧美成人免费在线视频| 国产91精品网站| 国产午夜精品一区二区三区| 亚洲国产成人精品女人久久久| 在线观看久久av| 欧美国产欧美亚洲国产日韩mv天天看完整|