ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 関数型プログラミング_JavaScript スキルに関する簡単な説明

JavaScript 関数型プログラミング_JavaScript スキルに関する簡単な説明

WBOY
リリース: 2016-05-16 15:40:39
オリジナル
1007 人が閲覧しました

関数型プログラミングはプログラミング パラダイムです

1 関数は最初の市民です。値を返すことも、他の関数のパラメーターとして使用することもできます

//console是一个函数
function con(v){
 console.log(v)
}
// execute 也是一个函数
function execute(fn){
 fn(1)
}
//将con函数作为参数传进execute函数
execute(con) // 1

ログイン後にコピー

2 自然言語に近い書き方

シャオチーは食事を終えて風呂に入りました。 Eat().bathe()

と表現できます。
// 吃饭函数
function eat(eat){
 this.e = eat;
 return this;
}
// 洗澡函数
function bathe(bathe){
 this.b = bathe;
 return this;
}

var person = eat("晓池在吃饭").bathe("晓池去洗澡了");
console.log(person.e) // 晓池在吃饭
console.log(person.b) // 晓池去洗澡了

ログイン後にコピー

関数型プログラミングの 3 つの特徴

関数型プログラミングでは、匿名関数、つまり名前のない関数が非常に一般的で、関数を完成させるためにそれら (未使用の関数) を使用する必要があることがあります。

// 自定义each函数
function each(arr,func){
 var length = arr.length;
 for(var i = 0 ;i <length; i++){
  func(i,arr[i])
 }
}
// 执行each函数,传进一个匿名函数作为该函数的参数
each([1,2,3],function(i,v){
 console.log('key:' + i + ',value:' +v);
});
//输出内容
//key:0,value:1
//key:1,value:2
//key:2,value:3

ログイン後にコピー

カリー化: カリー化は、複数のパラメーターを受け入れる関数を 1 つのパラメーター (元の関数の最初のパラメーター) を受け入れる関数に変換し、残りのパラメーターを受け入れて結果を返す新しい関数を返す手法です。

//定义add函数,并返回一个函数
function add(num){
 return function(x){
   return num + x;
 }
}
add1 = add(1)
console.log(add1(3)) // 4

ログイン後にコピー

高階関数: パラメータとして関数がある場合、または関数が内部で関数を返す場合、その関数を高階関数と呼ぶことができます。上記の各関数は高階関数の一種と考えられます。

結論

実際のアプリケーションでは、関数型またはオブジェクト指向に限定されず、通常はこの 2 つが混合されています。実際、多くの主流のオブジェクト指向言語は、いくつかの機能を追加するなど、常に改良されています。待てよ、JavaScript では、この 2 つのコードが非常にシンプルで美しいだけでなく、デバッグも簡単になります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート