apply是前端javascript方法默认自带的方法,这要的用法是替换掉当前执行的方法的this对象,从而实现继承,或者修改方法内部使用到this对象;
这次先说继承:
例如:
首先,在test方法里边声明两个方法,add,sub:
function test(){
this.add=function(a,b){
return a+b;
}
this.sub=function(a,b){
return a-b;
}
}
然后,我们接着定义一个方法test2:
function test2(){
test.apply(this);
}
接着,我们生成实例t2,实例化过程中test2成为t2的构造函数,此时test2方法里头的this对象是指t2的;
var t2=new test2();
那么现在,我们可以测试t2:
t2.add(2,1);
t2.sub(3,2);
结果是不是很神奇。
时间: 2024-10-10 08:58:42