Valeur de retour de la fonction
L'instruction return dans la fonction est utilisée pour renvoyer la valeur de retour après l'appel de la fonction
return expression;
L'instruction return ne peut apparaître que dans le corps de la fonction If. non, une erreur de syntaxe sera signalée
return 1;//SyntaxError: Illegal return statement
S'il n'y a pas d'instruction return, l'appel de fonction exécute uniquement chaque instruction du corps de la fonction dans l'ordre jusqu'à la fin de la fonction, et revient finalement au programme appelant. Dans ce cas, le résultat de l'appel de l'expression est indéfini
var test = function fn(){} console.log(test);//undefined
Lorsque l'instruction return est exécutée, la fonction termine l'exécution et renvoie la valeur de l'expression au programme appelant
var test = function fn(){ return 2; }; console.log(test());//2
[ Remarque] Toutes les instructions après l'instruction return dans la fonction ne seront pas exécutées. L'instruction enfin est une exception. L'instruction return n'empêchera pas l'exécution de la clause enfin
function testFinnally(){ try{ return 2; }catch(error){ return 1; }finally{ return 0; } } testFinnally();//0
[Note] Puisque JavaScript peut insérer automatiquement des points-virgules, il ne peut donc pas y avoir de nouvelle ligne entre le mot-clé return et l'expression qui le suit
var test = function fn(){ return 2; }; console.log(test());//undefined
Il peut y avoir plusieurs instructions return dans une fonction
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } else { return iNum2 - iNum1; } }
Le L'instruction return peut être utilisée seule. Il n'est pas nécessaire d'inclure une expression, sinon undefined sera renvoyé au programme appelant. L'instruction return apparaît souvent comme la dernière instruction de la fonction car l'instruction return peut être utilisée pour que la fonction revienne plus tôt. Lorsque return est exécuté, la fonction retourne immédiatement sans exécuter les instructions restantes
var test = function fn(){ return; }; console.log(test());//undefined
Si la fonction est appelée avec le nouveau préfixe devant et que la valeur de retour n'est pas un objet, alors ceci (le nouvel objet)
//并没有弹出1 var test = function fn(){ return; alert(1); }; console.log(test());//undefined
Si la valeur de retour est un objet, renvoyez l'objet
function fn(){ this.a = 2; return 1; } var test = new fn(); console.log(test);//{a:2} console.log(test.constructor);//fn(){this.a = 2;return 1;}
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!