我剛開始學習JavaScript,遇到一個我不明白的任務。任何人都可以解釋我爲什麼我們在這個例子中返回函數名「return f」,以及我們使用「f.toString」是什麼?JS,返回函數名稱
function sum(a) {
var currentSum = a;
function f(b) {
currentSum += b;
return f;
}
f.toString = function() {
return currentSum;
};
return f;
}
alert(sum(1)(2)); // 3
alert(sum(5)(-1)(2)); // 6
alert(sum(6)(-1)(-2)(-3)); // 0
alert(sum(0)(1)(2)(3)(4)(5)); // 15
你沒有返回「名稱」,你正在返回*函數*。 – deceze
正如@deceze所說,你返回函數f,該函數在它將'b'添加到'currentSum'之後返回'f'。 – Sventies
至於第二個問題''f.toString'被'alert'調用(當它收到它作爲一個參數) – UnholySheep