どのように私は大きなフロントエンドWebフロントエンドの技術スキルが不可欠であるかを学ぶことができます

どのように私は、Webフロントエンド技術を学ぶことができますか?ビッグフロントエンドのスキルが必要なのでしょうか。ビジネスニーズの変化に応じますが、需要を満たすことができなかったフロントエンドエンジニアの基本的なスキルを習得するだけでなく、アップデートテクノロジーにより、企業が必要とする、より高度なスキルを持つことで、戦闘は素晴らしいHTML5フロントエンドエンジニアを経験しました。次の千Feng'llは大きなフロントエンドのスキル必要--JavaScript関数型プログラミングをご紹介します。

 

どのように私は大きなフロントエンドWebフロントエンドの技術スキルが不可欠であるかを学ぶことができます

 

 

関数型プログラミングとは何ですか?

関数型プログラミングは、主操作手順、各種の機能を組み合わせることによって計算された結果をカプセル化する関数を使用して、プログラミングパラダイムです。関数型プログラミングでは、短時間でエラーの少ないコードを書くことができることを意味します。関数型プログラミングは、2つの基本的な特徴を有する:一連の関数の結果の複数を見つけるために、関数のデータを変換します。

JavaScriptのプログラミング機能モードタイプ:

不可欠:通常、複雑な細部の多くが含まれ、いくつかのアクションを実行するために別のコンピュータを聞かせて指示を書き込むことによって。命令型のコードでは、頻繁に操作を完了するには、ステートメントを使用していました。このような、スイッチ、場合、スローので、これらのステートメントとして。

コード例:

//命令型

[] =経営者でした。

ため(VAR i = 0; iはcompanies.lengthを<; iは++){

CEOs.push(社[i]の.CEO)

}

宣言型:むしろ、ステップバイステップのインストラクションよりも、私たちがやりたい道の発現を書き込むことで宣言する。通常、複雑な特定の関数呼び出しの発現、およびいくつかの値のオペレータ、結果を計算するために使用される値。

コード例:

//宣言型

VaRの企業のCEO = companies.map(C => c.CEO)。

私たちは、むしろそれを行う方法よりも、何をすべきかを示して返された配列を、収集する方法、反復対抗する方法を心配することなく、言葉遣いが宣言型表現であることを理解することができ、必要不可欠と宣言型のコントラスト。これの1つの明らかな利点は、関数型プログラミング宣言型コード、純粋な関数には副作用があること、我々はビジネスのコードを書くことに焦点を当て、内部機能が達成する方法で考えることができないです。

JavaScriptの関数型プログラミングの共通の特徴:

1、副作用なし。nはまだ同じ結果を返す後手段は、外部関数の状態が呼び出され、すなわち関数呼び出しを変更しません。

図2に示すように、透明な参照。それだけで、それに渡された変数を使用し、独自の内部変数が他の変数に使用されていない作成する機能をいいます。

3、不変変数。一度作成し、変数を参照し、それはすべての変更は、新しい変数を生成します、変更することはできません、不変変数を使用することの最大の利点は、スレッドセーフです。JavaScriptがネイティブ不変変数をサポートしていませんので(などImmutable.js、森、など)サードパーティのライブラリで実装する必要があります。

図4に示すように、関数はファーストクラスの市民です。他のデータ型の関数を指す対等に、他の変数に割り当てることができ、それは別の関数に渡されるパラメータとして、あるいは関数の戻り値として使用することができます。

共通の機能プログラミングモデル:

1、闭包(閉鎖)。

関数が自由変数を参照する場合、この関数はクロージャです。いわゆる自由変数は、関数の変数のスコープの一部ではありません。形成条件クロージャ:ローカル変数、関数、および外側層の存在は、内側層は、外部関数の関数が参照されています。

クロージャの使用:永続変数を定義することができる範囲の制限は、中間バッファや計算量などのために使用することができます。欠点の閉鎖:永続的な変数が正常に解放されていないが、メモリスペースを取る続け、無駄なメモリが発生する可能性があるので、一般的にいくつかの追加の手動クリーンアップメカニズムが必要です。

図2に示すように、高次関数

再度関数の戻り値のパラメータとして機能するパラメータ又は関数の戻り値、またはその両方の関数として機能する高次関数を指します。関数型プログラミングは、それが高次関数を用いることによって達成される、機能的能力の共通のセットに多重化データを処理する傾向があります。

JavaScriptは、このようなArray.prototype.map、Array.prototype.filterとArray.prototype.reduce JavaScriptなどの言語のネイティブサポート高階関数は、高階関数の一部に組み込まれている、高階関数の使用は、我々のコードをより明確かつ簡潔に。

3、関数カリー化

機能をカリー化も部分的な評価として知られているカリー化は、いくつかのパラメータを受け取り、その後、すぐに評価されていないが、新しい機能を返し続け、保存するクロージャの形で渡されたパラメータ、実際の評価まで待ちます時間、その後、一回のすべての着信のパラメータが評価されます。

新しい機能を得るために、より少ない通過パラメータは、これらのパラメータを覚えているとカリー化は、「事前ロード」機能のアプローチである、という意味で、これは「キャッシュ」のパラメータであり、これは、関数を作成するための非常に効率的な方法です!

図4に示すように、関数組成物(組成物)

関数型プログラミングの特徴は、一連の関数によって評価されるべきであるが、一連の機能の数の増加に伴って、コードの可読性が低下していき、関数組成物は、この問題を解決するために使用される方法です。

Webフロントエンド技術を学びたい、小扁は、プロの学習システムを選択することをお勧めします、あなたはすぐに乗数効果を学び始めるようになります。ウェブコースと白の急速な成長のための低しきい値は、曲線を学習した後、だけでなく、高度な学習の学生の特定の基礎のためにスローダウン。

おすすめ

転載: www.cnblogs.com/qianfengzz/p/11612578.html