這是放在菜鳥上寫的程式碼 ;
setTimeout 無論設定多久,innerHtml都是直接出現最終結果;
這是為啥呢
#<!DOCTYPE html>
#<html>
<head>
#<meta charset= "utf-8">
<title>菜鳥教學(runoob.com)</title>
</head>
<body>
文件新增onmousemove 事件句柄,當在文件中移動滑鼠時會顯示隨機數。
點選按鈕移除事件句柄。
<button id='demo1'>點我</button>
<p id="demo">
<script>
document.getElementById("demo1").addEventListener("click", myFunction);
var time = 5;
function myFunction() {
document.getElementById("demo").innerHTML = time;
removeHandler(time);
#}
function removeHandler(i) {
i--;
document.getElementById("demo").innerHTML = i;
setTimeout(removeHandler(i),1000);
}
</script>
</body>
</html>
#
setTime()的回呼函數是非同步執行,只有主呼叫堆疊清空才會從任務佇列進入呼叫棧,所以就會出現你說的這種情況