不同的是setInterval會每隔指定的時間段就執(zhí)行一次代碼,具有重復(fù)性。而setTimeout只會調(diào)用后執(zhí)行一次。 下面通過函數(shù)的建立和函的自動刪除來深刻理解兩個函數(shù); 1.函數(shù)的建立 setTimeOut的建立: 代碼如下: showTime(); function showTime() { var today = new Date(); alert("The time is: " + today.toString()); setTimeout("showTime()", 5000); }
調(diào)用函數(shù)后五秒鐘才會執(zhí)行一次showtime函數(shù) setInterval的建立 代碼如下: setInterval("showTime()", 5000); function showTime() { var today = new Date(); alert("The time is: " + today.toString()); }
總結(jié):貌似兩個函數(shù)的結(jié)果相似,其實不然第二個函數(shù)會反復(fù)的報時,直到該網(wǎng)頁被關(guān)閉。 兩個函數(shù)的消除: setTimeout的消除使用 clearTimeout()函數(shù);調(diào)用的實例: 代碼如下: var timeoutProcess = setTimeout("alert('GOAL!')", 3000); var stopGoalLink = document.getElementById("stopGoalLink"); attachEventListener(stopGoalLink, "click", stopGoal, false);//加入事件函數(shù),參數(shù)為(目標;事件;調(diào)用的函數(shù);是否冒泡) function stopGoal() { clearTimeout(timeoutProcess); }
setInterval的消除 代碼如下: var timeoutProcess = setTimeout("alert('GOAL!')", 3000); var stopGoalLink = document.getElementById("stopGoalLink"); attachEventListener(stopGoalLink, "click", stopGoal, false);//加入事件函數(shù),參數(shù)為(目標;事件;調(diào)用的函數(shù);是否冒泡) function stopGoal() { clearInterval(timeoutProcess); }