Function definition: Difference between revisions

Content added Content deleted
(updated neko)
Line 797: Line 797:


=={{header|JavaScript}}==
=={{header|JavaScript}}==
===ES1-*===
Using a '''function declaration'''.
Function Declaration
<lang javascript>function multiply(a,b) { return a*b }</lang>
<lang javascript>function multiply(a, b) {
return a*b;
}</lang>


===ES3-*===
The same function can be defined using a '''function expression''' where you express a function as a value of a variable.
Function Expression
<lang javascript>var multiply = function (a, b) {
<lang javascript>var multiply = function(a, b) {
return a * b;
return a * b;
};</lang>

Named Function Expression
<lang javascript>var multiply = function multiply(a, b) {
return a * b;
};</lang>

Method Definition
<lang javascript>var o = {
multiply: function(a, b) {
return a * b;
}
};</lang>

===ES5-*===
Accessors
<lang javascript>var o = {
get foo() {
return 1;
},
set bar(value) {
// do things with value
}
};</lang>


===ES6-*===
Arrow Function
<lang javascript>var multiply = (a, b) => a * b;
var multiply = (a, b) => { return a * b };
</lang>

Concise Body Method Definition
<lang javascript>var o = {
multiply(a, b) {
return a * b;
}
};</lang>
};</lang>