计时器setTimeout()与setInterval()是原生JS很重要且用处很多的两个方法, 但很多人一直误以为是相同的功能: 间隔时间重复执行传入的句柄函数. 但实际上, 并非如此, 既然JS给出了两个不同的命名, 肯定有其迥异之处.
先来看看两者JS手册及英文词典上的解释:
JS手册»setTimeout() : 用于在指定的毫秒数后调用函数或计算表达式;
英文释义»timeout() : 超时;暂时休息;工间休息;
JS手册»setInterval() : 按照指定的周期(以毫秒计)来调用函数或计算表达式. 会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭;
英文释义»interval() : 间隔;间距;幕间休息;
不难看出, 只要我们仔细体会JS手册及命名释义, 就能很容易的区分开两者的区别. 简单的说, 两才的区别在于,setTimeout()方法是在等待指定时间后执行函数, 且只执行一次传入的句柄函数. setInterval()方法是每指定间隔时间后执行一次传入的句柄函数,循环执行直至关闭窗口或clearInterval().

下面通过代码看一下却别:

 var timeout=function(){
alert('等待2s后弹出,仅此一次!在等待时间内clearTimeout可停止执行!')
}
var interval=function(){
alert('每2s循环弹出,直至clearInterval或关闭窗口!')
}
var input=document.getElementsByTagName('input'); var clearTimeoutFun=null;
var clearIntervalFun=null; input[].onclick=function(){
clearTimeoutFun=setTimeout(timeout,);
}
input[].onclick=function(){
clearTimeout(clearTimeoutFun);
}
input[].onclick=function(){
clearIntervalFun=setInterval(interval,);
}
input[].onclick=function(){
clearInterval(clearIntervalFun);
}

动手才是真理,自己可以动手写一下。

转载自 <a href="http://mrthink.net/js-settimeout-setinterval/" title="JS计时器setTimeout()与setInterval()方法的区别" rel="bookmark">JS计时器setTimeout()与setInterval()方法的区别@Mr.Think</a>

最新文章

  1. Null值的使用
  2. 读书笔记——Windows核心编程(2)禁止C运行时触发的所有Debug Assertion Failed对话框
  3. Sublime Text : 创建工程
  4. mongodb配置及简单示例
  5. 实际利率 &gt; 名义利率
  6. css+js 控制幻灯片效果
  7. java 泛型中 T、E ... 和 问号(通配符)的区别
  8. 百度编辑器ueditor如何配置
  9. 瑞柏匡丞_免费app开发是否可行
  10. 测试一下PHP官方的新一代PHP加速插件ZendOpcache的性能及配置
  11. 数据结构中La表的数据合并到Lb表中
  12. ZOJ 1649:Rescue(BFS)
  13. Windows下安装solr步骤详解
  14. qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统【转】
  15. bootstrap-datepicker default value
  16. java-Date类
  17. 2018.10.30 bzoj4942: [Noi2017]整数(线段树压位)
  18. (转)Python3.5 queue模块详解
  19. Android五个进程等级(转)
  20. go练习1-翻转字符串

热门文章

  1. String作为输出型参数时获取不到值
  2. js addDays ,addYears
  3. [Luogu 3973] TJOI2015 线性代数
  4. Golang向Templates 插入对象的值
  5. Java 异常(Java Exception)
  6. 「6月雅礼集训 2017 Day11」delight
  7. 【POJ】1222 EXTENDED LIGHTS OUT(高斯消元)
  8. Java 对象排序详解
  9. 【洛谷 P2761】 软件补丁问题(状态压缩,最短路)
  10. 2017ACM暑期多校联合训练 - Team 1 1001 HDU 6033 Add More Zero (数学)