4 回答

TA貢獻(xiàn)2041條經(jīng)驗 獲得超4個贊
功能聲明
function foo() { ... }
函數(shù)表達(dá)式
命名函數(shù)表達(dá)式
var foo = function bar() { ... }
匿名函數(shù)表達(dá)式
var foo = function() { ... }
foo()
立即調(diào)用函數(shù)表達(dá)式
(function() { ... }());
結(jié)語
foo

TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊
關(guān)于第三項定義:
var foo = function foo() { return 5; }
下面是一個示例,說明如何使用遞歸調(diào)用的可能性:
a = function b(i) {
if (i>10) {
return i;
}
else {
return b(++i);
}
}
console.log(a(5)); // outputs 11
console.log(a(10)); // outputs 11
console.log(a(11)); // outputs 11
console.log(a(15)); // outputs 15
編輯:更有趣的閉包示例:
a = function(c) {
return function b(i){
if (i>c) {
return i;
}
return b(++i);
}
}
d = a(5);
console.log(d(3)); // outputs 6
console.log(d(8)); // outputs 8

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
編輯:
結(jié)束編輯
var foo = function foo() { return 5; }
var foo = function fooYou() { return 5; }
添加回答
舉報