目前,我在JS中有一个闭包,如下所示:
var addTo = function(num){
var add = function(inner){
return inner + num;
};
return add;
};
var sum = new addTo(1);我的目标是使用上面的闭包来计算从1一直到100 (即sum = 1+2+3+...+99+100)的和。有什么帮助吗?我知道需要一个循环,但我不确定应该在循环中放什么,以及如何使用闭包来实现目标。谢谢你们。
发布于 2016-04-06 10:35:45
也许你想使用递归而不是循环?
function addTo(initial) {
function add(adder) {
if (initial < 100) {
initial+=1
return add(adder+initial)
}
else {
return adder
}
}
return add(initial)
}
document.write(addTo(1))
只要初始值不超过100,它就会在+本身+ 1之前将所有计算的总和相加。
https://stackoverflow.com/questions/36439904
复制相似问题