次のスクリプトは 1 2 3 4 5 6 7 を出力します。0 1 2 3 4 5 ... を出力すると仮定します。
実際、私の実際のコードでは、 print(lostCnt) は常に最新の (グローバルのように動作する) 最後のカウント更新に接続されていると思います。どうしてこれなの?そして、obj1のコードを変更できないという制約で実際のcntを保持するにはどうすればよいですか。
<!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>
ありがとう、そしてこれが私の最初の投稿です