javascript - js拡張プロトタイプメソッドにおけるこの指摘の問題
漂亮男人
漂亮男人 2017-05-19 10:36:17
0
1
778

書籍『JavaScript Ninja Secrets』には、プロトタイプ ライブラリと関数バインド コードの例が含まれています。 リーリー

関数をチェックするためにブレークポイントを使用します

bind内部の fn は myFunctionこの関数をよく理解していません。私の理解では、Function.prototype を使用するだけです。 プロトタイプ拡張メソッド 宣言された変数 fn=this; 内の変数 var fn=this; は、この例の myFunction のように、このメソッドを使用する関数を指します。 .binnd(myObject);bin メソッドを呼び出します。fnmyFunction を指します。この関数が正しいかどうかはわかりません

漂亮男人
漂亮男人

全員に返信(1)
迷茫

実は、質問の意味がよくわからないので、アイデアを交えながらコードを見ていきましょう

myFunction.bind(myObject) がプロトタイプのバインド関数に入ります

  1. myFunctionをfnに代入し、パラメータを配列argsに変換し、最初のパラメータを削除してobjectに代入します。

  2. 関数を返してからクロージャについて考えれば理解できるでしょう。この関数によって行われる作業は、単に myFunction.apply(myObject,[...ここに他のパラメーターがあります]) として理解できます

aFunction()

myFunction.apply(myObject,[...ここにはパラメータはありません])です
次に、applyの関係により、myFunctionの内部に入ります、これはmyObject、そして作業はmyObject==myObjectです
Return本当

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート