function expression

This article needs an editorial review. How you can help.

La paraula clau function es pot utilitzar per definir una funció dins d'una expressió.

Sintaxi

function [nom]([paràm1[, paràm2[, ..., paràmN]]]) {
   sentències
}

Paràmetres

nom
El nom de la funció. Es pot ometre, i en aquest cas la funció seria anònima. El nom és només local pel cos de la funció.
paràmN
El nom d'un argument que es passa a la funció.
sentències
Les sentències que constitueixen el cos de la funció.

Descripció

Una expressió d'una funció és molt semblant i té gairebé la mateixa sintaxi que una sentència d'una funció (function sentència d'una funció per més detalls). La principal diferència entre l'expressió d'una funció i una sentèndia d'una expressió és el nom de la functió, el qual es pot ometre en expressions de funcions per tal de crear funcions anònimes. Una expressió d'una funció es pot utilitzar com a un IIFE (Immediately Invoked Function Expression) que s'executa un cop s'ha definit. Vegeu també el capítol sobre funcions per més informació.

Exemples

L'exemple següent defineix una funció sense nom i l'assigna a x. La funció retorna el quadrat del seu argument:

var x = function(y) {
   return y * y;
};

Expressió d'una funció amb nom

Si vols fer referència a la funció actual dins del cos de la funció, necessitaràs crear una expressió d'una funció amb nom. Aquest nom és llavors només local pel cos de la funció (àmbit). AIxò també evita utilitzar la propietat no estàndard arguments.callee.

var math = {
  'factorial': function factorial(n) {
    if (n <= 1)
      return 1;
    return n * factorial(n - 1);
  }
};

Especificacions

Especificació Estat Comentaris
ECMAScript 2016 Draft (7th Edition, ECMA-262)
The definition of 'Function definitions' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Function definitions' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Function definition' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'Function definition' in that specification.
Standard Definició inicial. Implementat en JavaScript 1.5.

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: llue
 Last updated by: llue,