您的位置:首页 > 移动开发

javascript之call和apply的简单用法

2016-05-22 00:00 507 查看
call apply 简单的用法:绑定一些函数 用于传递参数 调用

简单的使用:

function sum(x , y){
<span style="white-space:pre">	</span>return x+y;
}
function call1(num1 , num2){
return sum.call(this , num1 , num2);
}
function apply1(num1 , num2){
return sum.apply(this , [num1,num2]);  <pre name="code" class="javascript"><span style="white-space:pre">	</span>//return sum.apply(this , arguments);
}alert(call1(10 , 20));alert(apply1(20,40));


call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的.

扩充作用域

window.color = 'red';
var obj = {color:'blue'};
var obj2 = {color:'yellow'};
function showColor(){
alert(this.color);
}
showColor.call(window);
showColor.call(obj);
根据传入的对象不同this指代不同,颜色也不一样。

如果不使用call方法,需要obj.showColor=showColor; obj.showColor();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: