JavaScript SetInterval与setTimeout使用方法详解


Posted in Javascript onNovember 15, 2013

setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。
区别:
window.setTimeout("function",time);//设置一个超时对象,只执行一次,无周期
window.setInterval("function",time);//设置一个超时对象,周期='交互时间'
停止定时:
window.clearTimeout(对象) 清除已设置的setTimeout对象
window.clearInterval(对象) 清除已设置的setInterval对象

PerRefresh();function PerRefresh() {
     var today = new Date();
     alert("The time is: " + today.toString());
     setTimeout("showTime()", 5000);
}

 一旦调用了这个函数PerReflesh,那么就会每隔5秒钟就显示一次时间
setInterval("PerRefresh()", 5000);function PerRefresh() {
     var today = new Date();
     alert("The time is: " + today.toString());
}

而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。
只要调用了setInterval("PerRefresh()", 5000)此函数,那么每隔5秒钟就会执行PerRefresh这个函数。
如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。
setInterval 不断地执行指定代码直到调用clearInterval清除定时器对象
setTimeout 执行一次指定代码,使用clearTimeout清除定时器对象
setInterval和setTimeout都返回定时器对象标识符,用于clearInterval和clearTimeout调用
Javascript 相关文章推荐
mysql输出数据赋给js变量报unterminated string literal错误原因
May 22 Javascript
jquery动态添加删除(tr/td)
Feb 09 Javascript
js闭包所用的场合以及优缺点分析
Jun 22 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
js实现无缝滚动特效
Dec 20 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
javascript将json格式数组下载为excel表格的方法
Dec 22 Javascript
Javascript Promise用法详解
May 10 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
Aug 09 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
jquery.ui.draggable中文文档(原文翻译)
Nov 15 #Javascript
Knockout text绑定DOM的使用方法
Nov 15 #Javascript
Knockout visible绑定使用方法
Nov 15 #Javascript
Knockout数组(observable)使用详解示例
Nov 15 #Javascript
图片上传插件jquery.uploadify详解
Nov 15 #Javascript
JQuery获取或设置ckeditor的数据(示例代码)
Nov 15 #Javascript
Json和Jsonp理论实例代码详解
Nov 15 #Javascript
You might like
第一节--面向对象编程
2006/11/16 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
js对象的比较
2011/02/26 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
webpack项目轻松混用css module的方法
2018/06/12 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
virtualenv介绍及简明教程
2020/06/23 Python
序列化Python对象的方法
2020/08/01 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
英国电气世界:Electrical World
2019/09/08 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
电子商务专业个人的自我评价
2013/12/19 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
房地产广告词大全
2014/03/19 职场文书
邹越演讲观后感
2015/06/15 职场文书
小学班主任教育随笔
2015/08/15 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL