カリキュラムとは
Curryingは、複数のパラメーターを受け入れる関数を単一のパラメーターを受け入れる関数に変換する変換プロセスです(変換注:元の関数の最初のパラメーター)。他のパラメーターが必要な場合は、残りのパラメーターを受け入れ、結果を返す新しい関数を返します。
ケリ化学機能思考: JS前処理のアイデア。関数実行を使用すると、破壊されないスコープを形成できるという原則を形成でき、前処理する必要があるすべてのコンテンツが破壊されないこの範囲に保存され、返される可能性があり、小さな関数が小さな関数で実行されます。
カレー機能は、主に前処理に役割を果たします。
BINDメソッドの機能:コンテキストのコンテキストとして渡されたコールバックコールバックメソッドでこれを前処理します。
BINDメソッド実装原則1のコードは次のとおりです。
/***バインドの実装の原則1* @param callback [function] callback function* @param context [object] context* @returns {function}この*/function bind(callback、context){var outourarg = array.prototype.slice.call(arguments、2); return function(){var innerarg = array.prototype.slice.call(arguments、0); //現在の範囲ですべての引数パラメーターを取得することを意味します。 callback.apply(context、outerarg.concat(inenerarg));}}次のコードは、プロトタイプチェーンのバインド実装の原理を模倣しています
/***プロトタイプチェーン(韓国および化学機能のアイデア)でのバインド実装の原理を模倣します* @param Context [object] Context* @returns {function}この*/function.prototype.mybind = function mybind(context){var _this = this = this = array.protototype.slice.call.call.call.call.call.call.call.call.call.slice.slice.call. infunction.prototype){return this.bind.apply(this、[context] .concat(outarg));} //非互換性の場合のreturn関数{var inarg = array.prototype.slice.call(arguments、0); inarg.length === 0? outarg.concat(inarg); _ this.apply(context、arg);}}}カレー機能
コンピューターサイエンスでは、カレーは、複数のパラメーターを受け入れる関数を単一のパラメーター(元の関数の最初のパラメーター)を受け入れる関数に変換し、残りのパラメーターを受け入れて結果を返す新しい関数を返す手法です。
カレーとは、単純な関数を取得するために特定のパラメーターを事前に通過することを意味します。しかし、事前にパスされたパラメーターは閉鎖に保存されるため、いくつかの独特の機能があります。例えば:
例:
var adder = function(num){return function(y){return num + y;}} var inc = adder(1); var dec = adder(-1); // inc、decは2つの新しい関数になります。 (+/-)1Alert(Inc(99)); // 100Alert(Dec(101)); // 100Alert(Adder(100)(2)); // 102Alert(Adder(2)(100)); // 102上記のコンテンツは、カーリングJavaScript機能と、エディターが紹介したバインドメソッドを実装する方法です。私はそれが誰にでも役立つことを願っています!