猿问

问一下,var t=setTimeout("alert('Hello!')",5000);这段代码有什么意义?

<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);也可以达到目的啊?
88mm52080
浏览 2737回答 4
4回答

路北

setTimeout()还有一个对应的函数clearTimeout(),用于取消setTimeout()。页面上如果有很多setTimeout()。你肯定要指定是某一个setTimeout()。这时就可以用他的返回值也就是你上面的t。 clearTimeout(t); // 这种方式告诉浏览器,麻烦把t这个setTimeout()取消掉。

qq_留待天明_0

延迟5秒弹出 hello!提示框

堂堂堂堂糖糖糖童鞋

这段代码的作用是:5秒后执行alert('Hello!');起一个定时的作用,但我们通常使用setTimeout是让它循环执行某一个函数,形成递归调用,至于为何会又一个返回值,方便我们对定义的定时器进行销毁,因为非常占内存的.看一下这段示例:var t = setTimeout("tinfo()", 5000);<script type="text/javascript"> var t;  var counter = 0; function tinfo() { alert('hello'); counter++;//执行次数 t = setTimeout("tinfo()", 2000);//定义定时器 if(counter == 5) {//达到5次 clearTimeout(t);//销毁定时器 } } tinfo(); </script>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答