javascript继承方法有哪些

醉折花枝作酒筹
Freigeben: 2021-04-08 18:30:48
Original
2023 Leute haben es durchsucht

javascript继承方法有:1、使用call()方法,可以编写能够在不同对象上使用的方法;2、apply()方法,语法“apply(用作 this 的对象,要传递给函数的参数的数组)”。

javascript继承方法有哪些

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

1、call() 方法

call() 方法是与经典的对象冒充方法最相似的方法。它的第一个参数用作 this 的对象。其他参数都直接传递给函数自身

function Huster(name,idNum,college) { this.name = name; this.idNum = idNum; this.college = college; this.course = new Array(); this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法 {                   //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承 this.course.push(course); console.log(this.course); }; } function Autoer(name,idNum) { this.college = ‘自动化‘; Huster.call(this,name,idNum,this.college);//Autoer使用call()方法来继承 Huster      if (typeof Autoer._initialized == "undefined")      {       Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义       {         alert(this.college+‘人喜欢撸代码!‘);            };       Autoer._initialized = true;      }   }       var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1   console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course);   autoer1.addCourse(‘logistics‘);//调用Huster的方法   autoer1.sayHobby();    //调用自身的方法
Nach dem Login kopieren

2、apply() 方法

apply() 方法与call()方法几乎一样,唯一的区别就是apply()方法只有两个参数,第一个用作 this 的对象,第二个是要传递给函数的参数的数组。也就是说apply()方法把call()方法的若干个参数放到一个数组里,传递给父类

function Huster(name,idNum,college){ this.name = name; this.idNum = idNum; this.college = college; this.course = new Array(); this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法 {                   //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承 this.course.push(course); console.log(this.course); }; } function Autoer(name,idNum) { this.college = ‘自动化‘; Huster.apply(this,new Array(name,idNum,this.college));//Autoer使用apply()方法来继承 Huster     if (typeof Autoer._initialized == "undefined")      {        Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义       {          alert(this.college+‘人喜欢撸代码!‘);            };        Autoer._initialized = true;       }    }       var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1   console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course);    autoer1.addCourse(‘logistics‘);//调用Huster的方法   autoer1.sayHobby();    //调用自身的方法
Nach dem Login kopieren

【推荐学习:javascript视频教程

Das obige ist der detaillierte Inhalt vonjavascript继承方法有哪些. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!