--- title: function slug: Web/JavaScript/Reference/Statements/function translation_of: Web/JavaScript/Reference/Statements/function original_slug: Web/JavaScript/Referencia/Sentencies/function ---
La declaració d'una funció defineix una funció amb uns paràmetres especificats.
També podeu definir funcions fent servir el constructor {{jsxref("Function")}} i un {{jsxref("Operators/function", "function expression")}}.
function nom([paràm,[, paràm,[..., paràm]]]) { [sentències] }
nom
paràm
sentències
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 {{jsxref("Function")}} per informació detallada sobre funcions.
Una funció també es pot crear fent servir una expressió (vegeu {{jsxref("Operators/function", "function expression")}}).
Per defecte, les funcions retornen undefined
. Per tal de retornar qualsevol altre valor, la funció ha de tenir una sentència {{jsxref("Statements/return", "return")}} que especifiqui el valor que retorna.
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.
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 {{jsxref("Operators/function", "function expressions")}} no estan hoisted:
notHoisted(); // TypeError: notHoisted is not a function var notHoisted = function() { console.log("bar"); };
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; }
Especificació | Estat | Comentaris |
---|---|---|
1a edició de ECMAScript. | Estàndard | Definició iniciañ. Implementat en JavaScript 1.0 |
{{SpecName('ES5.1', '#sec-13', 'Function definition')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}} | {{Spec2('ES6')}} |
{{ CompatibilityTable() }}
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Característica | Android | Chrome per Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |