时间就像海绵里的水,要挤总还是有的,所以在最近不是太忙的时间里,我选择了挤时间,一点点的挤出了大把的时间,于是乎便迎来了我对javascript的第二阶段的学习,首先说下, 说起JavaScript大家并不陌生,翻开各种各样的书籍,都是似曾相识但又模模糊糊朦朦胧胧,就比如我现在要说的知识点一setTimeout()和setInterval().

1.setTimeout()延时调用函数:

setTimeout(function(){
alert('我是延时调用函数');
},1000);

setTimeout可以接受两个参数,第一个参数是要确定在规定延时后要执行的代码段,第二个参数是说要过多久开始执行该代码段,那么我再来举个例子:

setTimeout('alert(我是不规范的延时调用函数)',1000);

以上这两种方式都可以正常运行,但是由于传入字符串有可能会造成解析错误,甚至出现不必要的错误,因此传入字符串作为要执行的方法是不推荐的.setTimeout()方法返回的是延时队列的id,有些同学可能会好奇,既然我要延时调用某个方法,那万一出现了我规定时间还没到我就想销毁这个延时家在函数怎么办,对这在最初确实是个问题也是个难点,因为在我还没有开始认真思考这些的时候虽然有用到setTimeout()方法,但是就是不知道怎么停止或者销毁,下面就来看小编给大家带来的例子:

var timeID = setTimeout(function(){
alert('我是延时调用函数');
},1000);
if(达到一定条件后销毁函数){
clearTimeout(timeID);
}

以上就是我对延时加载函数setTimeout()方法的理解.

2.间歇调用setInterval():

setInterval()和setTImeout()方法的用法非常相似,但是clearInterval()远比clearTimeout()的作用大的多,因为在一个间歇调用中如果你不主动去停止他,那么他将变为一个死循环甚至更糟的结果,所以如果使用到了setInterval()时间一定要记得关掉,不过在正式的开发环境中一般很少用到setInterval();因为setInterval完全可以由setTimeout方法代替,下面我们一起来看个例子:

var a = 10;
var b = 0;
var timeid = null;
function interval(){
b++;
if(b=a){
clearInterval(timeid);
}
}
timeid = setInterval(interval,1000); 用setTimeout代替等价于=>
var a = 10;
var b = 0;
var timeid = null;
function interval(){
b++;
if(b<a){
setTimeout(interval,1000);
}else{
alert('ok')
}
}
setTimeout(interval,1000);

这些便是我对与间歇调用和延时调用的理解,再次记录下 希望可以帮助有帮助的朋友.

最新文章

  1. angular中使用ngResource模块构建RESTful架构
  2. 分享我对 ASP.NET vNext 的一些感受,也许多年回过头看 So Easy!
  3. adminLTE的自动化菜单
  4. Vim常用命令总结
  5. 为网格布局图片打造的超炫 CSS 加载动画
  6. MAC机中安装ruby环境--转载
  7. Hibernate中使用的集合类型
  8. Activiti保存流程图时diagrms中没有生成png解决办法
  9. 【性能诊断】七、并发场景的性能分析(windbg案例,线程阻塞)
  10. HDU 4441 Queue Sequence
  11. 线段树hdu1754
  12. 解决KVM中鼠标不同步问题
  13. RAC 开启gsd和oc4j服务
  14. [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
  15. C++学习笔记:多态篇之虚析构函数
  16. IDApython教程(五)
  17. pythonのpygame初体验
  18. r-mq实现顺序消费,不重复消费
  19. 深入理解java虚拟机(十) Java 虚拟机运行时栈帧结构
  20. LeetCode解题报告—— Maximal Rectangle

热门文章

  1. Ext江湖笔记:JavaScript基本知识点
  2. 监听tomcat服务器启动/关闭并从配置文件中读取参数进行初始化
  3. java 使用正则表达式对文件名非法字符处理
  4. c++模板类被继承时他的成员不能被子类看到
  5. linux thread 互斥锁
  6. 关于webApi302跳转的问题
  7. Js自动截取字符串长度,添加省略号“……”
  8. Delphi的IDHTTP的基本用法
  9. Python Socket Programming
  10. LINUX的命令(未完待续)