javascript继承方法有哪些

醉折花枝作酒筹
Lepaskan: 2021-04-08 18:30:48
asal
2023 orang telah melayarinya

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();    //调用自身的方法
Salin selepas log masuk

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();    //调用自身的方法
Salin selepas log masuk

【推荐学习:javascript视频教程

Atas ialah kandungan terperinci javascript继承方法有哪些. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!