javascriptアプリとcall方法の役割と違い


一、callとappyの説明
   1、call、appyはすべてFunction.prototypeの一つの方法であり、JavaScriptエンジン内に実装されています.Function.prototypeに属しているので、各Functionオブジェクトインスタンスにはcallがあり、apply属性があります.方法の属性である以上、それらの使用は当然、方法に対して行われます.この二つの方法は、それらの作用が同じで、使い方が違っているだけです.
   2、文法:foo.call(this、arg 1、arg 2、arg 3)==foo.appy(this、argments)==this.foo(arg 1、arg 2、arg 3);
   3、同じ点:二つの方法が生み出す役割は全く同じです.
   4、異なる点:方法伝達のパラメータが異なる.
二、インスタンスコード

    function A(){
        this.flag = 'A';
        this.tip = function(){
            alert(this.flag);
        };
    }
    function B(){
        this.flag = 'B';
    }
    var a = new A();
    var b = new B();
    //a.tip.call(b);
    a.tip.apply(b);
三、コード解釈(つまり、appyとcallの役割を説明する)
   1、実例コードは2つの関数AとBを定義しています.Aにはflags属性とtip属性(この属性には関数が割り当てられています.)が含まれています.Bにはflags属性があります.
   2、AとBのオブジェクトaとbをそれぞれ作成します.
   3、a.tip.cal(b)であれ;a.tip.appy(b)と運転の結果はポップアップBです.
   4、その結果、callとappyの両方がAオブジェクトのtipメソッドをBオブジェクトに呼び出すことができ、thisの現在の作用対象を修正したことが分かります.
appyとcallの他の例について