以下脚本输出 1 2 3 4 5 6 7.. 我假设它会输出 0 1 2 3 4 5 ...
事实上,在我的实际代码中,我相信 print(lostCnt) 总是连接到最新的(像全局一样的)最后一次计数更新。为什么是这样?我该怎么做才能让它保持实际的 cnt 与我无法修改 obj1 中的任何代码的约束。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function obj1(parameter, callback){
setTimeout(callback, parameter);
}
function caller(){
function miscFunction(cnt){
document.getElementById("main").appendChild(document.createTextNode(cnt));
}
var lostCnt = 0;
setInterval(
function(){
new obj1(5,
function(){
miscFunction(lostCnt);
});
lostCnt++;
},5000
);
}
</script>
</head>
<body onload="caller();">
<div id="main">
</div>
</body>
</html>
谢谢,这是我的第一篇文章