bind()を使用してbind()を使用する最も簡単な方法は、関数がどのように呼び出されても同じ値を持つように関数を作成することです。単にこの値を設定して引数を渡すコールアンドアプライドとは異なり、bind()メソッド(最初のパラメーターの後にパラメーター)に渡されたすべての実際の引数(最初のパラメーター)に結合します。
この機能の例については、「JS権威あるガイド」の元のテキストを参照してください。
var sum = function(x、y){return x + y}; var couc = sum.bind(null、1); //このポイントをnullにし、それ以降の実際のパラメーターもバインドされた関数sumsucc(2)に渡されます。 // => 3:合計関数で1がxにバインドされていることがわかります第二に、bind()メソッドによって返される関数の長さは、元の関数の形状パラメーター量に等しくなり、bind()メソッドに渡された実際のパラメーター量(最初のパラメーターの後にすべてのパラメーター)に等しくなります。
関数func(a、b、c、d){...} // funcの長さは4var after = func.bind(null、1,2); //ここに2つの実際のパラメーター(1,2)が入力され、func関数bconsole.log(after.length)のaに結合します。 // Afterの長さは2です第三に、bind()によって返される関数がコンストラクターとして使用されると、これはbind()に渡され、すべての実際のアカウントが元の関数に渡されます。これは非常に抽象的です。例えば:
function original(x){this.a = 1; this.b = function(){return this.a + x}} var obj = {a = 10} var newobj = new(original.bind(obj、2)); // real parameter 2console.log(newobj.a); //出力1、返された関数がコンストラクターConsole.log(newobj.b())として使用される場合、OBJ(この値)が無視されることを示します。 //出力3、渡されたパラメーター2が元の関数に渡されることを示します上記はES5のバインド法の特性であり、この技術は機能的なカレーとも呼ばれます。この手法は、複数のパラメーターを持つ関数を1つのパラメーターのみの関数に変換します。 BINDメソッドは、JSのこのテクノロジーの実践です。
JSでのBINDメソッドと機能カレーに関するこの簡単な議論は、私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。