setInterval関数内の変数はすべてローカル変数で、複数のsetIntervalが実行される場合、ローカル変数値は影響しません

3232 ワード

setInterval関数内の変数はすべてローカル変数であり、複数のsetIntervalが実行される場合、ローカル変数値は影響しません.以下はactivexを利用して要約を取得するテストコードです.
また、setIntervalごとに値が異なり、evalを用いて異なる変数値を作成することができる(i 1 i 2 i 3......)
function getsum(){
var file1="C:/test_data/test/[www.66e.cc] jiou.HD    _d428a2a59155b0bf5c21b552d7f6200b.rmvb";
var file2="C:/test_data/test/Adobe.Acrobat.7.0.9_93989df443fa15d2a2940b720383360d.rar";
var file3="C:/test_data/test/test1_205ebcd203396a3059b5d264cb98cf1c.rar";
var file4="C:/test_data/test/test2_0acf5df3a407f5a8f638ce50aa20450f.rar";
var file5="C:/test_data/test/test3_9765ca396a02c9da64f2945bdbff2ba2.rar";
var file6="C:/test_data/test/test_data_b8627147216f986672fc0e109d09ade7.rar";

com.MakeSummary(file3);
sleep(500);
com.MakeSummary(file4);
sleep(500);
com.MakeSummary(file1);
sleep(500);
com.MakeSummary(file2);
sleep(500);
com.MakeSummary(file5);
sleep(500);
com.MakeSummary(file6);

var i1=setInterval(function (){
document.getElementById("t2").innerHTML="1<br>"
var clearSummary = com.getSummary(file1);

document.getElementById("t2").innerHTML=new Date().getTime() + "--"+file1+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i1);
}
},10);

var i2=setInterval(function (){
document.getElementById("t3").innerHTML="2<br>"
var clearSummary = com.getSummary(file2);
document.getElementById("t3").innerHTML=new Date().getTime() + "--"+file2+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i2);
}},10);

var i3=setInterval(function (){
document.getElementById("t4").innerHTML="2<br>"
var clearSummary = com.getSummary(file3);
document.getElementById("t4").innerHTML=new Date().getTime() + "--"+file3+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i3);
}},10);

var i4=setInterval(function (){
document.getElementById("t5").innerHTML="2<br>"
var clearSummary = com.getSummary(file4);
document.getElementById("t5").innerHTML=new Date().getTime() + "--"+file4+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i4);
}},10);

var i5=setInterval(function (){
document.getElementById("t6").innerHTML="2<br>"
var clearSummary = com.getSummary(file5);
document.getElementById("t6").innerHTML=new Date().getTime() + "--"+file5+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i5);
}},10);

var i6=setInterval(function (){
document.getElementById("t7").innerHTML="2<br>"
var clearSummary = com.getSummary(file6);
document.getElementById("t7").innerHTML=new Date().getTime() + "--"+file6+"="+clearSummary+"<br>";
if(clearSummary!=""){
clearInterval(i6);
}},10);

}

function sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime)
            return;
    }
}

getsum();