关于call与apply的前世今生

来源:互联网 发布:潘多拉优化中心 编辑:程序博客网 时间:2024/06/04 19:55
function sum (x,y){     return x + y; } function call1(num1,num2){     return sum.call(this,num1,num2);     //call是用于绑定一个函数的,绑定到哪儿了绑定到当前call1方法里面(this); 然后传递的参数就是当前call1提供的参数num1,num2     //将一个函数(sum)绑定定到一个特定的作用域中this(call1); }// alert(call1(30,20)); function apply1(num1,num2){     return sum.apply(this,[num1,num2]);     //相当于把一个函数(sum)绑定到(apply1方法)上this;然后传递一些参数;只不过传递的参数是一个数组 } //alert(apply1(10,65)); //扩充作用域 window.color = 'red';  //是全局的;相当于this function showColor(){     alert(this.color); } var obj = {     color : 'blue' }; showColor.call(this); showColor.call(obj); //好处是对象与方法没有任何耦合关系
http://www.icoolxue.com/play/9358
原创粉丝点击