return
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 2015 (6th Edition, ECMA-262) The definition of 'Return statement' in that specification. |
Standard |
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) |