JavaScriptにおけるcallとappyの役割

960 ワード

JavaScriptにはcallとapplyの方法があります.その役割は基本的に同じですが、少し違いがあります.
JSマニュアルの中のコールについての説明は以下の通りです.
           ,            。

call                    。call                
           thisObj       。

     :call             (      ?),    this     。
この次の例を参照してください.

   
 function Obj(){this.value="  !";}   

 var value="global   ";   

 function Fun1(){alert(this.value);}   

 window.Fun1();   //global      

 Fun1.call(window);  //global       
Fun1.call(document.getElementById('myText'));  //input text   
 Fun1.call(new Obj());   //  !

   var func=new function(){this.a="aaa"}
    var myfunc=function(x){
        var a="myfunc";
        alert(this.a);
        alert(x);
    }
    myfunc.call(func,"var");
より傾向を感じる――callとappyの役割は、関数の対象コンテキストを切り替えることです.内部ポインタを変更して、置換ではなく関数のスコープを変更します.