window.setTimeout() 和 window.setInterval() 使用说明setTimeout(表达式,延时时间)setInterval(表达式,交互时间) 延时时间/交互时间是以毫秒为单位的(1000ms=1s)。setTimeout在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次setInterval在执行时,它从载入后,每隔指定的时间就执行一次表达式(循环)一、setTimeout 关于setTi
setTimeout (表达式,延时时间)
setInterval(表达式,交互时间)
延时时间/交互时间是以毫秒为单位的(1000ms=1s)。
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setInterval在执行时,它从载入后,每隔指定的时间就执行一次表达式(循环)
一、setTimeout
关于setTimeout方法的第一个参数,可以为直接的代码(要被引号括起),也可以为用函数括起来的代码(不用引号括这),方法名(不用引号和括号或加括号并要引号括起),如下:
1.直接的代码:
- var i=0;
- setTimeout(“i+=1;alert(i)”,1000);
2.
用函数括起来的代码
- var i=0;
- setTimeout(function(){i+=1;alert(i);},1000);
3.方法名
- var i=0;
- function test(){
- i+=1;
- alert(i);
- }
- setTimeout(“test()”,1000);
-
- setTimeout(test,1000);
清空定时器调用
window.clearTimeout(TimeoutID)
二、setInterval
- <SCRIPT LANGUAGE=“JavaScript”>
- var timer;
- var count = 0;
- function test()
- {
-
- timer = window.setInterval(“add()”,500);
- }
- function add(){
- alert(++ count);
- if (count == 5)
- {
-
- window.clearInterval(timer);
- }
- }
- test();
- </SCRIPT>
清空定时器调用
window.clearInterval(IntervalID)
三、用setTimeout实现setInterval的功能
思路很简单,就是在一个函数中调用不停执行自己,有点像递归
- var i=0;
- function xilou(){
- i+=1;
- if(i>10){
- alert(i);
- return;
- }
- setTimeout(“xilou()”,1000);
-
-
- }
四、在类中使用setTimeout
其实在类中使用大家遇到的问题都是关于this的,只要解决了这个this的问题就万事无忧了。
呵呵。让我们来分析一下:
- function xilou(){
- this.name=“xilou”;
- this.sex=“男”;
- this.num=0;
- }
-
- xilou.prototype.count=function(){
- this.num+=1;
- alert(this.num);
-
- if(this.num>10){
return;}
-
-
- setTimeout(“this.count()”,1000);
- setTimeout(“count()”,1000);
- setTimeout(count,1000);
-
- var self=this;
- setTimeout(function(){self.count();},1000);
- }
-
- var x=new xilou();
- x.count();
错误分析:
A:中的this其实指是window对象,并不是指当前实例对象
B和C:中的count()和count其实指的是单独的一个名为count()的函数,但也可以是window.count(),因为window.count()可以省略为count()
D:将变量self指向当前实例对象,这样js解析引擎就不会混肴this指的是谁了。
今天的文章window.setTimeout() 和 window.setInterval() 使用说明分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12712.html