0

ですから、たまに、楽しみのために、Facebookのソースをチェックして、あらゆる種類のクレイジーなjavascriptを見つけます。

したがって、Facebookチャットのテキストエリアのキーアップで、次のことがわかりました。

Bootloader.loadComponents(["control-textarea"], function () {
    TextAreaControl.getInstance(this)
}.bind(this));

.bind()これは、その関数に直接追加されていることを確認するまで、私には興味がないようでした。

私はあなたがそれをすることができるとは知りませんでした。

そのように、どの機能も次から次へと続くことができますfunction(){}か?または、これを行うために必要な特別な方法はありますか。

のようなものをチェーンできることは知っていますが、それ自体"How are you doing!".replace(/\w{3}/g,'').toUpperCase()に直接チェーンするとは思いませんでした。function(){}

4

1 に答える 1

1

.bindES5環境のFunctionオブジェクトで使用できるプロパティ、またはに.bind追加されたプロパティですFunction.prototype。これは、オブジェクト上またはプロトタイプチェーンを介して利用可能な他のプロパティとまったく同じです。

この.bindメソッドは、呼び出し元のコンテキスト(および提供されている場合は引数)がその新しい関数に永続的にバインドされた新しい関数を返します。新しい関数は元の関数のコード本体を呼び出すため、バインドされたコンテキストと引数を除いて、動作は同じです。

于 2012-08-04T17:50:09.123 に答える