apply()和call(), 它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别:
apply( thisArg , argArray );
call( thisArg, [,arg1,arg2…] ] );
第一个参数表示所有函数内部的this指针都会被赋值为 thisArg,这可实现将函数作为另外一个对象的方法运行的目的.
<code><script type="text/javascript"> function sumFun(sum1,sum2){ return sum1+sum2; } function applySum(sum1,sum2){ //使用sumFun函数来完成一次调用,调用的参数就是applaySum这个函数的参数. 第二个参数表示一个数组。 return sumFun.apply(this,arguments); } alert(applaySum(12,45));//运行结果是57; function callSum(sum1,sum2){ return sumFun.call(this,sum1,sum2); } alert(callSum(12,45));//运行结果是57; </script></code>