javascript继承方法有哪些
时间:2021-04-09 来源:互联网
今天PHP爱好者给大家带来javascript继承方法有:1、使用call()方法,可以编写能够在不同对象上使用的方法;2、apply()方法,语法“apply(用作 this 的对象,要传递给函数的参数的数组)”。希望对大家有所帮助。
本教程操作环境: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(); //调用自身的方法
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(); //调用自身的方法
以上就是javascript继承方法有哪些的详细内容,更多请关注php爱好者其它相关文章!
-
艾尔登法环发狂工匠的制作笔记1位置介绍 2024-11-27
-
语音图像垃圾分类识别API接口整理之如何应用 2024-11-27
-
布兰特的生平和痛苦大逃亡成就解锁方法分享 2024-11-27
-
有关邮编查询API接口整理的相关内容介绍 2024-11-27
-
艾尔登法环发狂工匠的制作笔记3位置介绍 2024-11-27
-
布兰特的生平和痛苦布兰特牧首成就解锁方法分享 2024-11-27