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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

淺析2種JavaScript繼承方式

2024-05-06 16:25:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了2種JavaScript主要繼承方式,一種是通過(guò)原型的方式,一種是通過(guò)借用call&apply的構(gòu)造函數(shù)方式,感興趣的小伙伴們可以參考一下
 

js繼承方法最主要的是2種,一種是通過(guò)原型的方式,一種是通過(guò)借用call&apply的構(gòu)造函數(shù)方式。
1.原型(prototype):

function Body(name,age){// 創(chuàng)建一個(gè)Body類(lèi)  this.name = name;// 賦予基礎(chǔ)屬性name、age  this.age = age;}Body.prototype.sayName =function() {// 給原型定義一個(gè)sayName的方法  console.log(this.name);}var a = new Body('wutao','10');//創(chuàng)建一個(gè)Body的實(shí)例對(duì)象function Another(){}Another.prototype = new Body('www');//將Body實(shí)例對(duì)象給新創(chuàng)建的子類(lèi)(Another)的prototype屬性,這樣,Another就擁有了Body的屬性和方法var b = new Another();//創(chuàng)建Another子類(lèi)的實(shí)例Another.prototype.sex ="mail";//定義子類(lèi)的屬性及方法Another.prototype.saySex = function(){  console.log(this.sex);}a.sayName();//wutaob.sayName();//www 實(shí)例b擁有父類(lèi)Body的方法sayNameb.saySex();//mail 實(shí)例b擁有自己定義的方法saySex

2.借用構(gòu)造函數(shù)(call&apply),也可以理解為組合式繼承
call:

function Person(name){  this.name = name;  this.sayHello = function(){    console.log(this.name);  }}function Son(name,age){  Person.call(this,name,age);//call用法:將this指針指向父類(lèi)構(gòu)造函數(shù),并依次傳入?yún)?shù),使其擁有父類(lèi)的屬性和方法  this.age = age;  this.sayFunc = function(){    console.log(this.name+"-"+this.age);  } }var a = new Person('wutao');var b = new Son("wwwwww",22);a.sayHello();//wutaob.sayHello();//wwwwww; 通過(guò)call繼承來(lái)的父類(lèi)Person的方法sayHellob.sayFunc();//wwwwww-22

apply:

function Person(name){  this.name = name;  this.sayHello = function(){    console.log(this.name);  }}function Son(name,age){  Person.apply(this,[name,age]);//apply用法:類(lèi)似call,將this指針指向父類(lèi)構(gòu)造函數(shù),并傳入一個(gè)由參數(shù)組成的數(shù)組參數(shù),使其擁有父類(lèi)的屬性和方法  this.age = age;  this.sayFunc = function(){    console.log(this.name+"-"+this.age);  } }var a = new Person('wutao');var b = new Son("ttt",222);a.sayHello();//wutaob.sayHello();//ttt;通過(guò)apply繼承來(lái)的父類(lèi)Person的方法sayHellob.sayFunc();//ttt-222

 js最主要的繼承方法就這2種,當(dāng)然,還有幾種繼承方法,但是有些繼承方式在創(chuàng)建了實(shí)例之后,修改實(shí)例方法和屬性會(huì)直接修改原型的方法和屬性,那這樣的繼承就顯得意義不大了,除非是業(yè)務(wù)有類(lèi)似的需求才會(huì)去用到。

以上就是關(guān)于JavaScript繼承方式的詳細(xì)介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 海外中文字幕在线观看 | 国产艳妇av视国产精选av一区 | av在线成人 | 91精品国产777在线观看 | jizzyouxxxx| 桥本有菜免费av一区二区三区 | 成人视屏免费看 | av成人在线播放 | 国产成人精品午夜视频' | 国产精品一区久久久久 | 91成人免费网站 | 激情黄页 | av在线免费观看不卡 | 欧美性生交xxxxx久久久 | 美女羞羞视频网站 | 国产成年人在线观看 | 成人污在线 | 精品成人免费视频 | 午夜啪视频 | 久久久久久久久久久久久久国产 | 国产精品久久久久久久成人午夜 | 国产无遮挡一区二区三区毛片日本 | 黄色毛片免费视频 | 亚洲视频综合网 | 黄色特级 | 91精品久久久久久 | 欧美精品一区二区三区在线播放 | 欧美xxxwww| 国产寡妇xxxxxxxx性开放 | 国产69精品久久久久99尤 | 日本网站在线看 | 国产在线精品一区二区三区 | 久久精品首页 | 久久精品视频在线看99 | 视频h在线| 一本色道久久综合狠狠躁篇适合什么人看 | 91小视频在线观看免费版高清 | 毛片视频网站 | 粉嫩粉嫩一区二区三区在线播放 | 99成人精品视频 | 黄在线免费看 |