88mm52080
2016-04-01 21:17:14
<script?type="text/javascript">
function?tinfo(){
??var?t=setTimeout("alert('Hello!')",5000);}
</script>
</head>
<body>
<form>
??<input?type="button"?value="start"?onClick="tinfo()">
</form>
</body>
問一下這里面的有什么意義?直接寫成setTimeout("alert('Hello!')",5000);也可以達(dá)到目的?。?
4 回答
已采納

路北
TA貢獻(xiàn)18條經(jīng)驗(yàn) 獲得超8個(gè)贊
setTimeout()還有一個(gè)對(duì)應(yīng)的函數(shù)clearTimeout(),用于取消setTimeout()。
頁面上如果有很多setTimeout()。你肯定要指定是某一個(gè)setTimeout()。
這時(shí)就可以用他的返回值也就是你上面的t。?
clearTimeout(t); // 這種方式告訴瀏覽器,麻煩把t這個(gè)setTimeout()取消掉。

堂堂堂堂糖糖糖童鞋
TA貢獻(xiàn)101條經(jīng)驗(yàn) 獲得超58個(gè)贊
這段代碼的作用是:5秒后執(zhí)行alert('Hello!');起一個(gè)定時(shí)的作用,但我們通常使用setTimeout是讓它循環(huán)執(zhí)行某一個(gè)函數(shù),形成遞歸調(diào)用,至于為何會(huì)又一個(gè)返回值,方便我們對(duì)定義的定時(shí)器進(jìn)行銷毀,因?yàn)榉浅U純?nèi)存的.看一下這段示例:
var t = setTimeout("tinfo()", 5000);
<script?type="text/javascript"> var?t;? var?counter?=?0; function?tinfo()?{ alert('hello'); counter++;//執(zhí)行次數(shù) t?=?setTimeout("tinfo()",?2000);//定義定時(shí)器 if(counter?==?5)?{//達(dá)到5次 clearTimeout(t);//銷毀定時(shí)器 } } tinfo(); </script>
添加回答
舉報(bào)
0/150
提交
取消