return

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)

Vegeu també

Document Tags and Contributors

 Contributors to this page: fscholz, llue
 Last updated by: fscholz,