Resum
La declaració d'una funció defineix una funció amb uns paràmetres especificats.
També podeu definir funcions fent servir el constructor Function
i un function expression
.
Sintaxi
function nom([paràm,[, paràm,[..., paràm]]]) { [sentències] }
nom
- El nom de la funció.
paràm
- El nom d'un argument que se li passarà a la funció. Una funció pot arribar a tenir fins a 255 arguments.
sentències
- Les sentències que comprenen el cos de la funció.
Descripció
Una funció creada amb una declaració d'una funció és un objecte Function
i té totes les propietats, mètodes i comportament dels objectes Function
. Vegeu Function
per informació detallada sobre funcions.
Una funció també es pot crear fent servir una expressió (vegeu function expression
).
Per defecte, les funcions retornen undefined
. Per tal de retornar qualsevol altre valor, la funció ha de tenir una sentència return
que especifiqui el valor que retorna.
Funcions creades de forma condicional
Les funcions poden ser declarades de forma condicional, és a dir, una sentència d'una funció pot estar aniuada dins d'una sentència if
. La majoria de navegadors que no siguin Mozilla tractaran aquestes declaracions condicionals com a declaracions incondicionals i crearàn la funció tant si la condició és vertadera o falsa, vegeu aquest article per una visió general. Per tant, no s'haurien de fer servir, per creacions condicionals feu servir expressions de funcions.
Declarar les funcions abans de definir-les (hosting)
Function declarations in JavaScript are hoisting the function definition. En Javascript es pot ser cridar una funció abans de declarar-la. En anglès existeix un ver:
hoisted(); // logs "foo" function hoisted() { console.log("foo"); }
Vegeu que function expressions
no estan hoisted:
notHoisted(); // TypeError: notHoisted is not a function var notHoisted = function() { console.log("bar"); };
Exemples
Exemple: Fer servir function
El codi següent declara una funció que retorna la quantitat total de vendes, quan se li dóna el nombre d'unitat venudes d' a
, b
, i c
.
function calc_sales(units_a, units_b, units_c) { return units_a*79 + units_b * 129 + units_c * 699; }
Especificacions
Especificació | Estat | Comentaris |
---|---|---|
1a edició de ECMAScript. | Estàndard | Definició iniciañ. Implementat en JavaScript 1.0 |
ECMAScript 5.1 (ECMA-262) The definition of 'Function definition' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'Function definitions' 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) |