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

call() apply() 定义一些函数,用于传递和调用

2016-09-03 09:24 204 查看
function sum(num1,num2){
return num1+num2;

}

function call1(num1,num2){//call1继承sum方法
return sum.call(this,10,20);

}

function apply1(num1,num2){
return sum.apply(this,[20,30]);

}

alert(call1(this));
alert(apply1(this));

***************************************************************

function arr1(a,b){
alert(a+b)

}

function arr2(a,b){
alert(a-b)

}

arr1.call(arr2,10,20);//传递的是一个参数

arr1.apply(arr2,[10,20]);//传递的是一个数组的集合

**************************************************************

扩充作用域
window.color='red';
var obj={'color':'bule'};
var obj1={'color':'yellow'};
function showColor(){
alert(this.color);
}
showColor.call(window);
showColor.call(obj);
showColor.call(obj1);

***************************************************************

function arr1(a,b){
alert(a+b)

}

function arr2(a,b){
alert(a-b)

}

arr2.method=arr1;

arr2.method(10,20);

delete arr2.method;//删除方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: