<!DOCTYPE HTML><html><head><script type="text/javascript"> ?var num=0,i; ?function timedCount(){? ? document.getElementById('txt').value=num;? ? num=num+1;? ? i=setTimeout(timedCount,1000);? }? ? setTimeout(timedCount,1000);? function stopCount(){? ? clearTimeout(i);? }</script></head><body> ?<form> ? ?<input type="text" id="txt"> ? ?<input type="button" value="Stop" onClick="stopCount()"> ?</form></body></html>setTimeout()這個方法不是延遲函數表達式的執行嗎,我知道timeCount()函數的外部用? setTimeout(timedCount,1000);是讓timeCount()這個函數1秒后執行,但是并沒有看出這個函數怎么就讓num循環疊加了,是因為內部引用了? ? i=setTimeout(timedCount,1000);嗎。但這個又是給計數停止提供參數i啊,怎么回事?。um是是怎么循環起的???
關于setTimeout()的疑惑,請看下面官方給的代碼!
慕村5492868
2017-08-23 16:56:48