的に()、)(適用、関数へのバインドは、この内部に変更されています
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
コールは直ちにあります