借了不还,还打人的call()与apply()方法!
胤字堂
call方法:
语法:call(arg1,arg2,arg3,arg4..)
apply方法:
语法:apply(arg1,[arg2,arg3,arg4..])
call()
javascript中的call和apply作用基本一样,应用某一对象的一个方法,用另一个对象替换当前对象,可将一个函数的对象上下文从初始的上下文改变为第一个传入的实参指定的新对象。区别在第二个参数,call()函数是将对象的参数一个个分别传入,apply()函数是将对象的参数以一个数组或arguments对象的形式整体传入。
function a(e,f){this.b=function(){console.log(e+f)}};
function c(){};
//call
a.call(c,2,3)
c.b()//输出"5";
//apply
a.apply(c,[2,3]);
c.b();//输出"5";
apply()