麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

推薦JavaScript實現繼承的最佳方式

2019-11-20 13:56:14
字體:
來源:轉載
供稿:網友

   實現JavaScript繼承的最簡單的方式是call方法(或者apply方法)及原型鏈方法,但這兩種方法都有缺陷,而其混合體就是很好的繼承實現方式。下面舉例說明:

復制代碼 代碼如下:

function Animal(age){
    this.age = age;
}
Animal.prototype.sayAge = function(){
    window.alert("My age is "+this.age+"!");
};
function Dog(age,name){
    Animal.call(this,age);
    this.name = name;
}
Dog.prototype = new Animal();
Dog.prototype.sayName = function(){
    window.alert("I am a "+this.name+"!");
};
var dog = new Dog(15,"dog");
dog.sayName();
dog.sayAge();

    對于類Animal來說,它有一個字段屬性age及函數屬性sayAge,sayAge方法的定義采用的是原型方式。Dog類要繼承Animal,其字段屬性除了age外還有name,通過Animal.call(this,age);可以實現Dog繼承Animal的字段屬性age并將其初始化了。call方法的第一個參數為繼承的類的this指針,第二個參數為Animal類的構造函數的參數。實際上,只是通過call方法就可以實現繼承,但唯一的要求是父類的函數屬性要在構造函數中定義,這對于這里的函數屬性使用原型方式定義來說就不適合了(采用原型方式定義函數屬性比在構造函數內定義更直觀一些)。要想繼承Animal的原型方式定義的函數屬性,需要的語句就是“Dog.prototype = new Animal();”。而Dog類中的sayName()函數則是其自身的函數屬性了。

 除了這個最經典的實現繼承的方式外,目前還有一些免費的庫可供使用。但想到形形色色的庫,頭就大了,有時間有必要時再研究吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久永久免费 | 日本成人一区二区 | 成人nv在线观看 | 一级做人爱c黑人影片 | 91久久国产综合久久91精品网站 | 九九热久久免费视频 | 色婷婷一区二区三区 | 成人午夜免费av | 精品人伦一区二区三区蜜桃网站 | 国产精品久久久久久模特 | 337p粉嫩大胆噜噜噜亚瑟影院 | 亚洲一级电影在线观看 | av在线播放免费观看 | 精品亚洲综合 | 一本色道久久综合狠狠躁篇适合什么人看 | 欧美午夜网 | 九九精品在线观看视频 | 成人毛片网 | 请播放一级毛片 | 日本在线观看中文字幕 | 色悠悠久久久久 | 欧洲成人综合网 | 亚洲第一精品在线 | 羞羞视频免费网站含羞草 | 免费小毛片 | 国产午夜精品在线 | 国产精品视频导航 | 日本综合久久 | 夜夜夜影院 | 国产精品一区二区在线 | 天天艹综合 | 亚洲一区二区在线 | 免费在线观看国产精品 | 亚洲无马在线观看 | 久久精品一区二区三区四区五区 | 国产深夜福利视频在线播放 | 欧美日韩精品一区二区三区蜜桃 | av影院在线播放 | 久久久www视频 | 久草在线网址 | 日韩美香港a一级毛片免费 日韩激情 |