我一直在玩JavaScript,并注意到一种奇怪的行为(至少对我来说很奇怪......)
所以我在这里做了一个SSCCE:
我有一个名为"myDiv"的div
function changeText(text){
document.getElementById("myDiv").innerHTML=text;
}
function recursiveCall(counter){
if(counter){
setTimeout(function(){
recursiveCall(--counter);
changeText(counter);
},750);
}
}
recursiveCall(10);
Run Code Online (Sandbox Code Playgroud)
所以我正在更改div上的文本,发生的是文本从9变为0,而我认为从0到9,因为递归changeText(counter);
调用是在调用实际更改的方法之前文本.