call 和 aplly 的 区别

作用

来个通俗的方法 就是当前"方法 传入 对象"(一次性的) 并改变this 的指向
正规的解析

    function Obj(){
      this.value="对象!";
    }  
    var value="global 变量";  
    function Fun1(){
      alert(this.value);
    }  
    
    Fun1();   //global 变量  
    Fun1.call(new Obj());   //对象! 

不同点

call 是一个一个 传值的
apply 传入一个数组 可以配合 arguments 使用

    var func=new function(){ this.a="func"}  
    var myfunc=function(x){  
        var a="myfunc";  
        alert(this.a);  
        alert(x);  
    }  
    myfunc.call(func,"var");  // 输出 func  var 
    myfunc.aplly(func,['var,lll,sss']); // 输出 func var lll sss 
    

posted @ 2017-04-12 21:18  wkm-wangZhe  阅读(342)  评论(0编辑  收藏  举报