JavaScriptの-のECMAScriptは、コールのバインドを適用します

的に()、)(適用、関数へのバインドは、この内部に変更されています

VAR OBJ = { 
    x: 81 
}。
 
VaRの FOO = { 
    のgetX:関数(){
         戻り 、この.Xを、
    } 
} 
 
にconsole.log(foo.getX.bind(OBJ)())。  // 81 
にconsole.log(foo.getX.call(OBJ))。    // 81 
にconsole.log(foo.getX.apply(OBJ))。   // 81

 

81は、3つの出力ですが、注意を払うには、の使用を参照して  bind() より多くの括弧のペアよりも彼の後ろ方法を。

言い換えれば、違いはあなたが環境のコンテキストはすぐに実行されていない変更したい場合は、ですが、コールバックが実行された場合、バインド()メソッドを使用して。そして、適用/呼び出し機能が直ちに実行されます。

要約すると:

apply 、  call 、bind 三つの点がこのオブジェクトの機能を変更するために使用され、
apply 、  call 、bind 三つのパラメータが最初に、すなわち指定されたコンテキストのように、この目的に向けられている、
apply 、  call 、bind すべての3つのパラメータは次の送信を使用することができます人参、
bind 後で呼び出しを容易にするために、対応する関数を返す。apply 、call コールは直ちにあります 

おすすめ

転載: www.cnblogs.com/cuner/p/12521187.html
おすすめ