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

来源:互联网 发布:阿里云可以干嘛 编辑:程序博客网 时间:2024/06/17 15:55
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;//删除方法

0 0
原创粉丝点击