call与apply的区别:(作用,可以用别人的代码来实现自己的对应功能)
相同点:
都是用于改变this指向,
不同点:
是它的传参列表不同。call中的第一个参数为当前对象一般用this表示,(从第二个参数开始就是实参可以有多个)
apply中的第一个参数也为当前对象一般用this表示,第二个参数为一个数组
例:
function Person(name,age,sex){
this.name = name;
this.age = age;
thsi.sex = sex;
};
//以下用call调用
function Doctor(name,age,sex,profession){
Person.call(this,name,age,sex);
this.profession = profession;
};
//用apply调用
function Student(name,age,sex,profession){
Person.apply(this,[name,age,sex]);
this.profession = profession;
};
var doctor = new Doctor(‘jerry’,18,‘female’,‘nurse’);
var student = new Student(‘tom’,20,‘male’,‘student’);
call与apply
最新推荐文章于 2019-05-23 17:28:17 发布