書籍『JavaScript Ninja Secrets』には、プロトタイプ ライブラリと関数バインド コードの例が含まれています。 リーリー
関数をチェックするためにブレークポイントを使用しますbind内部の fn は
myFunctionこの関数をよく理解していません。私の理解では、
Function.prototype を使用するだけです。 プロトタイプ拡張メソッド 宣言された変数
fn=this; 内の変数
var fn=this; は、この例の
myFunction のように、このメソッドを使用する関数を指します。 .binnd(myObject);bin
メソッドを呼び出します。
fn は
myFunction を指します。この関数が正しいかどうかはわかりません
迷茫2017-05-19 10:38:17
実は、質問の意味がよくわからないので、アイデアを交えながらコードを見ていきましょう
myFunction.bind(myObject) がプロトタイプのバインド関数に入ります
myFunctionをfnに代入し、パラメータを配列argsに変換し、最初のパラメータを削除してobjectに代入します。
関数を返してからクロージャについて考えれば理解できるでしょう。この関数によって行われる作業は、単に myFunction.apply(myObject,[...ここに他のパラメーターがあります]) として理解できます
aFunction()
myFunction.apply(myObject,[...ここにはパラメータはありません])です
次に、applyの関係により、myFunctionの内部に入ります、これはmyObject、そして作業はmyObject==myObjectです
Return本当