javascript_javascript スキルの部分的なアプリケーション学習
今回は部分適用について学びましょう。まず関数の概要を見てみましょう:
数学では、関数は各入力値と一意の出力値の間の対応関係を記述します。記号は f(x) です。たとえば、式 f(x)=x2 は、各入力値 x が固有の出力値 x2 に関連付けられている関数 f を表します。
つまり、入力値が 3 の場合、対応する出力値は 9 になります。また、 g(x,y) = xy には 2 つのパラメータ x と y があり、その積 xy が値になります。関数は上記で説明されています (便宜上、x と y が両方とも int であると仮定します)。f(x) を別の方法で表現できる例を 2 つ示します。 x2) 、つまり、 f を x2 にマッピングした後、 int -> int; と記述されます。
int を受け入れ、int を返します。 g(x,y) をもう一度見ると、 x -> y -> z(xy) と表すことができます。つまり、x、y は、int -> int -> int として記述され、z から g にマッピングされます。 g(x,y) 関数を見て、JavaScript を使用してそれを実装してみましょう:
function g(x,y){
return x*y;
}
これは完璧で、数学的定義に非常に近いです。 2 つのパラメータ x と y を順番に受け入れます。そして両者の積を返します。ただし、x=n (n は自然数) など、x が定数の場合。したがって、g(n,y)=ny となります。これは定数と変数の積となり、パラメーター y を受け取り ny を返します。つまり、int -> int と書かれた y -> z(ny) のマッピングになります。したがって、上記の作業は次のように理解できます。 g(x,y) はパラメータ int を受け入れ、関数 int ->int を返します。この返される関数は int のみを受け入れ、int を返します。これを JavaScript で表現してみましょう:
var h = g(2 );
h ここで、関数 h(y)=2y を表します。このようにして、h(5)=10、h(13)=26 などとなります。
h(5); (13) ;
varindex=index||0,args = new Array(a.length -index)
for(var i in a){
if(i> =index) args[i -index]=a[i];
}
return args;
function m(scope,fn){
if(arguments.lengthvar p = atarr(arguments,2);
var args = atarr(arguments);
return fn.apply(scope) ,p.concat(args ));
}
}
テストコード:
console.log(plus2(10));
//結果
12
これが私たちの目標であり、実装されました。上記の atarr 関数は、arguments オブジェクト内の指定された位置から始まるパラメーターを取り出し、配列に保存します。 m 関数が主役で、以前に定義したタスクを完了し、関数チェーン上のパラメーターを保存し、残りのパラメーターを受け入れる関数を返します。テスト コードの plus 関数は、もともと 2 つのパラメーター a と b を受け入れ、a と b の合計を返しました。ただし、plus2 は 1 つのパラメーター b を受け入れ、それを 2 に加算します。 2 と b の合計は int -> int を返します。
上記の作業の一部を通じて、JavaScript で部分アプリケーションを実装し、hitch2 で Dojo フレームワークにドメイン バインディングと部分を実装しました。興味があれば、そのソース コードを読んでみてください。これも非常にシンプルで明確です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

マトリックスの映画効果をあなたのページにもたらしましょう!これは、有名な映画「The Matrix」に基づいたクールなJQueryプラグインです。プラグインは、映画の古典的な緑色のキャラクター効果をシミュレートし、画像を選択するだけで、プラグインはそれを数値文字で満たされたマトリックススタイルの画像に変換します。来て、それを試してみてください、それはとても面白いです! それがどのように機能するか プラグインは画像をキャンバスにロードし、ピクセルと色の値を読み取ります。 data = ctx.getimagedata(x、y、settings.greasize、settings.greasize).data プラグインは、写真の長方形の領域を巧みに読み取り、jQueryを使用して各領域の平均色を計算します。次に、使用します

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

この記事では、jQueryライブラリを使用してシンプルな画像カルーセルを作成するように導きます。 jQuery上に構築されたBXSLiderライブラリを使用し、カルーセルをセットアップするために多くの構成オプションを提供します。 今日、絵のカルーセルはウェブサイトで必須の機能になっています - 1つの写真は千の言葉よりも優れています! 画像カルーセルを使用することを決定した後、次の質問はそれを作成する方法です。まず、高品質の高解像度の写真を収集する必要があります。 次に、HTMLとJavaScriptコードを使用して画像カルーセルを作成する必要があります。ウェブ上には、さまざまな方法でカルーセルを作成するのに役立つ多くのライブラリがあります。オープンソースBXSLiderライブラリを使用します。 BXSLiderライブラリはレスポンシブデザインをサポートしているため、このライブラリで構築されたカルーセルは任意のものに適合させることができます

データセットは、APIモデルとさまざまなビジネスプロセスの構築に非常に不可欠です。これが、CSVのインポートとエクスポートが頻繁に必要な機能である理由です。このチュートリアルでは、Angular内でCSVファイルをダウンロードおよびインポートする方法を学びます
