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调用

以下看自己 写的一个小样例:

<html>

<head>

<script type="text/javascript">

var i = 0;

var a;

function test(){

  a = setInterval("showTime()",5000);

}

function showTime(){

var today = new Date();

alert("the time is "+ today.toString());

 i++;

alert(i);

if(i ==2){

clearInterval(a);    //清除定时器须要传入一个对象(你要清除那个对象)

}

}

</script>

</head>

 <body>my first js setInterval and setTimeout function

<input type="button" value="setinterval" onclick="test();"></body>

</html>

JavaScript定时调用函数(SetInterval与setTimeout)的更多相关文章

  1. Javascript中的定时调用函数setInterval()和setTimeout()

    首先介绍这两个函数 一.setInterval() 按照指定的周期来调用函数或表达式,执行多次.(时间单位:ms) timer = setInterval("content =documen ...

  2. JavaScript函数setInterval()和setTimeout()正确的写法

    一.常规写法 1.1 不传参数 function a (x, y) { var i = 0; var b = function(){ console.log((x * y) + (i++)); } r ...

  3. js函数——setinterval和setTimeout

    1.window.setTimeout方法 该方法可以延时执行一个函数,例如: <script language="JavaScript" type="text/j ...

  4. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  5. javascript函数setInterval和setTimeout的使用区别详解

    setTimeout和setInterval的使用 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setIn ...

  6. 定时刷新页面SetInterval 和setTimeout -时间间隔可以动态设定

    JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操作. setTimeout("function& ...

  7. Unity3D中的Coroutine及其使用(延时、定时调用函数)

    http://blog.csdn.net/nizihabi/article/details/47606887 一.Coroutine(协程)的概念和本质 在网上的一些资料当中,一直将Coroutine ...

  8. JavaScript setInterval(定时/延时调用函数)

    setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式.setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭. 由 ...

  9. JavaScript定时机制setTimeout与setInterval研究

    JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...

随机推荐

  1. 海思 3520D 移植Qt4.5.3 一

    一.移植Qt4.5.3  1.获得 Qt4.5.3 的源码Qt4.5.3源码的原始包 qt-embedded-opensource-src-4.5.3.tar.gz 将其复制到 /opt 下,     ...

  2. cocos2d-x中的二段构造模式

    学习cocos2d-x的过程中,会发现很多对象都通过一个静态函数create来创建.比方以下的一个样例 #define CREATE_FUNC (__TYPE__) \ static __TYPE__ ...

  3. bzoj1831: [AHOI2008]逆序对(DP+双精bzoj1786)

    1831: [AHOI2008]逆序对 Description 小可可和小卡卡想到Y岛上旅游,但是他们不知道Y岛有多远.好在,他们找到一本古老的书,上面是这样说的: 下面是N个正整数,每个都在1~K之 ...

  4. 一站式学习WireShark

    一 基础 http://blog.sina.com.cn/s/blog_987e00020102x5k1.html 选中一个数据包,右键选中某一个数据包,然后follow-->Tcp Strea ...

  5. Python 从入门到精通 全程最佳实现梳理

    零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,​26年前 编程泛型 多泛型.面向对 ...

  6. 离奇失踪的WM_HOTKEY消息--浅析WIN32消息队列

    故事的开端有些平淡,眼红于XXX小程序,认为写完该程序就有了和心仪的妹子多相处的机会,必须搞,必须酷,按钮不能有,界面得隐藏,这就想到了全局快捷键. 注册调用RegisterHotKey(m_hWnd ...

  7. javascript实现多线程 Concurrent.Thread.js

    在这次我的项目中,因为前端要检测硬件加载并识别,再向后台请求发送数据,然后再返回的相应的配置文件!在这过程,要好时好几秒钟,严重影响体验效果,所以在网上靠看的方案,运用多线程去处理,这效果明显改善! ...

  8. MySql系列之初识

    数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运 ...

  9. Unity 框架(一)

    当项目需求中,后期可能接入多种输入设备的时候,可以借鉴一下以下代码 using System.Collections; using System.Collections.Generic; using ...

  10. python中的future,你见过可以使用未来版本模块的语言吗?

    import xxx from yy.xxx import xx from yy.xxx import xx as x python最常见的导包导模块语句 yy为包名,包就是文件夹,模块就是xxx.p ...