Function declaration:
function add(a,b) { return a+b; }
A function declaration is defined during parsing for a specific script block. It can be called anywhere in the block without causing an error:
(function() {
add(3,3)
function add(a,b) { return a+b; }
})();
Function Expressions:
var add = function(a,b) { return a+b; }
. .
(function() {
add(3,3)
var add = function(a,b) { return a+b; }
})();
:
- , .
var obj = {
propert1: 'property1 value',
add: function(a,b) {
return a+b;
}
};
obj.add(3,3), .
?
. . ( ):
(function returnVal() {
function getSomething() {
return 'foo';
}
return getSomething();
function getSomething() {
return 'bar';
}
})();
, , getSomething() .
(function returnVal() {
var getSomething = function() {
return 'foo';
}
return getSomething();
getSomething = function() {
return 'bar';
}
})();
, , , , .
var obj = {};
obj.foo = function() { }
obj.bar = function() { }
, obj. .