刚学JS。在我看来,函数 setTimeout 代码区域应该正常工作,但事实并非如此,exp:
var result = 0;
(function (i){
if(i > 0){
result = result + i;
i = i - 1;
setTimeout("arguments.callee(" + i + ")",100);//arguments.callee(i);
}
else if(i == 0)
return;
}(10));
alert(result);
我希望它警报 55 而不是 10,如果删除 setTimeout ,它会很好。有人知道为什么吗?