Maison > interface Web > js tutoriel > Une brève discussion sur les compétences en programmation fonctionnelle javascript_javascript

Une brève discussion sur les compétences en programmation fonctionnelle javascript_javascript

WBOY
Libérer: 2016-05-16 15:40:39
original
998 Les gens l'ont consulté

La programmation fonctionnelle est un paradigme de programmation

1 Fonction est le premier citoyen, elle peut renvoyer une valeur ou être utilisée comme paramètre d'autres fonctions

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

Copier après la connexion

2 Méthode d'écriture proche du langage naturel

Xiaochi a fini de manger puis est allé prendre un bain. Cela peut être exprimé par 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) // 晓池去洗澡了

Copier après la connexion

3 fonctionnalités de la programmation fonctionnelle

Les fonctions anonymes, c'est-à-dire les fonctions sans noms, sont très courantes en programmation fonctionnelle. Parfois, nous devons les utiliser (fonctions non utilisées) pour compléter certaines fonctions. Apprenons-les en définissant chaque fonction :

// 自定义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

Copier après la connexion

Currying : Currying est la technique de transformation d'une fonction qui accepte plusieurs paramètres en une fonction qui accepte un seul paramètre (le premier paramètre de la fonction d'origine), et renvoie une nouvelle fonction qui accepte les paramètres restants et renvoie le résultat.

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

Copier après la connexion

Fonction d'ordre supérieur : s'il existe une fonction en tant que paramètre ou si une fonction renvoie une fonction en interne, la fonction peut être appelée une fonction d'ordre supérieur. Chaque fonction ci-dessus est considérée comme un type de fonction d'ordre supérieur.

Conclusion

Dans les applications réelles, il ne se limite pas aux fonctionnalités ou à l'orientation objet, et est généralement un mélange des deux. En fait, de nombreux langages orientés objet traditionnels s'améliorent constamment, par exemple en ajoutant certaines fonctionnalités. de langages de programmation fonctionnels. Attendez, en JavaScript, les deux sont bien combinés. Le code peut non seulement être très simple et beau, mais aussi plus facile à déboguer.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal