Maison  >  Article  >  interface Web  >  Explication détaillée de la façon dont javascript utilise les fonctions et exemples d'utilisation de la valeur de retour

Explication détaillée de la façon dont javascript utilise les fonctions et exemples d'utilisation de la valeur de retour

伊谢尔伦
伊谢尔伦original
2018-05-19 15:27:113083parcourir

En JavaScript, les fonctions peuvent
◆ être affectées à une variable
◆ être attribuées comme propriété d'un objet
◆ être transmises à d'autres fonctions en tant que paramètres
◆ être renvoyées comme résultat de la fonction

est affectée à une variable :

//声明一个函数,接受两个参数,返回其和 
function add(x, y){ 
return x + y; 
} 
var a = 0; 
a = add;//将函数赋值给一个变量 
var b = a(2, 3);//调用这个新的函数a 
print(b);

Ce code imprimera "5" car après l'affectation, la variable a fait référence à la fonction ajouter, c'est-à-dire la valeur de a est un objet fonction (un bloc de code exécutable), vous pouvez donc utiliser des instructions comme a(2, 3) pour effectuer des opérations de somme.
Attribuée aux propriétés de l'objet :

var obj = { 
id : "obj1" 
} 
obj.func = add;//赋值为obj对象的属性 
obj.func(2, 3);//返回5

En fait, cet exemple est essentiellement le même que l'exemple précédent. La variable a du premier exemple est en fait une propriété A globale de. l'objet (représenté comme un objet fenêtre si dans un environnement client). Le deuxième exemple est l’objet obj. Puisque nous faisons rarement référence directement à l’objet global, nous le décrirons séparément.
est passé en paramètre :

//高级打印函数的第二个版本 
function adPrint2(str, handler){ 
print(handler(str)); 
} 
/将字符串转换为大写形式,并返回 
function up(str){ 
return str.toUpperCase(); 
} 

//将字符串转换为小写形式,并返回 
function low(str){ 
return str.toLowerCase(); 
} 

adPrint2("Hello, world", up); 
adPrint2("Hello, world", low);

En exécutant cet extrait, vous pouvez obtenir ce résultat :

HELLO, WORLD 
hello, world

A noter que le deuxième fonction d'adPrint2 Un paramètre est en fait une fonction. Si vous passez cette fonction de traitement en paramètre, vous pouvez toujours appeler cette fonction dans adPrint2. Cette fonctionnalité est utile dans de nombreux endroits, surtout lorsque nous voulons traiter certains objets. Si vous ne savez pas sous quelle forme le traiter, vous pouvez complètement regrouper la "méthode de traitement" sous la forme d'une granularité abstraite (c'est-à-dire une fonction).
Comme valeur de retour de la fonction :
Jetons d'abord un coup d'œil à l'exemple le plus simple :

function currying(){ 
return function(){ 
print("curring"); 
} 
}

La fonction currying renvoie une fonction anonyme. Cette fonction anonyme imprimera ". curring", un simple appel à currying() obtiendra le résultat suivant :

function (){ 
print("curring"); 
}

Si vous souhaitez appeler la fonction anonyme renvoyée par currying, vous devez faire ceci :
currying()();
La première opération parenthèse, indiquant que le currying lui-même est appelé et que la valeur de retour est une fonction. Lorsque le deuxième opérateur de parenthèse appelle cette valeur de retour, vous obtiendrez le résultat suivant :
currying

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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