MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Funció

This translation is incomplete. Please help translate this article from English.

Una funció és un fragment de codi que pot ser cridat per altres codis o per si mateix, o una variable que fa referència a la funció. Quan una funció es cridada, es passan arguments a la funció com a entrada, i opcionalment la funció pot retornar una sortida. Una funció de JavaScript és també un objecte.

Un nom de funció és un identificador definit com a part d'una declaració de la funció o expressió de funció. El àmbit del nom de la funció depèn de si el nom de la funció és una declaració o expressió.

Diferents tipus de funcions

Una funció anònimaés una funció sense un nom de funció:

function () {}

Una funció nomenada és una funció amb un nom de funció:

function foo() {}

Una funció interna és una funció dins d'una altra funció (square en aquest cas). Una funció externa és una funció que conté una funció (addSquares en aquest cas):

function addSquares(a,b) {
   function square(x) {
      return x * x;
   }
   return square(a) + square(b);
}

Una funció recursiva és una funció que es crida a si mateixa. Veure recursivitat..

function loop(x) {
   if (x >= 10)
      return;
   loop(x + 1);
}

Un Immediately Invoked Function Expressions (IIFE) és una funció que es crida directament després de que  la funció es carregui en el compilador del navegador. La manera d'identificar un IIFE és mitjançant la localització dels parèntesis extra d'esquerra i dreta al final de la declaració de la funció. Hi ha molts avantatges d'aquest tipus d'expressió de funció, però que està fora de l'abast del curs.

// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
/*
​function foo() { 
    console.log('Hello Foo'); 
}();
*/

(function foo() {
    console.log("Hello Foo");
}());
// Douglas Crockford's style


(function food() {
    console.log("Hello Food");
})();

Si voleu saber més sobre IIFEs, feu un cop d'ull a la següent pàgina a la Wikipedia: Immediately Invoked Function Expression

Aprèn més

Referència tècnica

Document Tags and Contributors

 Contributors to this page: Legioinvicta
 Last updated by: Legioinvicta,