This article needs an editorial review. How you can help.
Resum
La sentència return
finalitza l'execució de la funció i especifica un valor que retornarà a la funció que l'ha cridat.
Sintaxi
return [[expressió]];
expressió
- L'expressió que retorna. En cas d'ometre-s, es retorna
undefined
.
Descripció
Quan una sentència return
és cridada dins una funció, l'execució d'aquesta funció s'atura. En cas d'especificar-se, un valor donat és retornat a la funció que l'ha cridat. Si s'omet l'expressió, es retornarà undefined
. En les següents sentències return totes aturen l'execució de la funció:
return; return true; return false; return x; return x + y / 3;
Insersió automàtica de punt i coma
La sentència return
es veu afectada per la insersió automàtica de punt i coma (). No hi ha cap final de línia entre la paraula clau return
i l'expressió permesa.
return a + b; // is transformed by ASI into return; a + b;
Exemples
Exemple: Fer servir return
La següent funció retorna el quadrat del seu argument, x
, on x
és un nombre.
function square(x) { return x * x; }
Exemple: Interrompre una funció
Una funció s'atura immediatament en el moment en que es crida return
.
function counter() { for (var count = 1; ; count++) { // infinite loop console.log(count + "A"); // until 5 if (count === 5) { return; } console.log(count + "B"); // until 4 } console.log(count + "C"); // never appears } counter(); // Output: // 1A // 1B // 2A // 2B // 3A // 3B // 4A // 4B // 5A
Exemple: Returning a function
Per més informació sobre closures, llegiu la Guia de JavaScript.
function magic(x) { return function calc(x) { return x * 42}; } var answer = magic(); answer(1337); // 56154
Especificacions
Especificació | Estat | Comentaris |
---|---|---|
1a edició de ECMAScript | Estàndard | Definició inicial. |
ECMAScript 5.1 (ECMA-262) The definition of 'Return statement' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'Return statement' in that specification. |
Release Candidate |
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Chrome per Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |