JavaScript定时调用函数(SetInterval与setTimeout)

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>

时间: 2024-11-03 22:07:36

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

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

一.常规写法 1.1 不传参数 function a (x, y) { var i = 0; var b = function(){ console.log((x * y) + (i++)); } return b; } var c = a(1, 2); setInterval('c()', 1000); 1.2 传参数 function c (x, y) { console.log(x * y); } setInterval('c(1, 2)', 1000); 二.改进写法 2.1 不传参数

ExtJS的定时调用函数

<link rel="stylesheet" type="text/css" href="<%=basePath %>/ext-3.4/resources/css/ext-all.css"> <script type="text/javascript" src="<%=basePath%>/ext-3.4/adapter/ext/ext-base.js">&l

浅谈javascript立即调用函数表达式

函数声明.函数表达式.匿名函数: 函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式. 匿名函数:function () {}; 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式

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

setTimeout和setInterval的使用 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那

setInterval和setTimeout区别(验证码倒计时)

写了一个验证码60s倒计时的小demo来帮助记忆和区别setInterval和setTimeout. html <input type="button" id="btn1" value="setInterval获取验证码btn1" onclick="getTime1()" /> <input type="button" id="btn2" value="set

JavaScript定时机制setTimeout与setInterval研究

JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout(function() { alert('你好!'); }, 0); setInterval(callbackFunction, 100); 认为setTimeout中的问候方法会立即被执行,因为这并不是凭空而说,而是JavaScript API文档明确定义第二个参数意义为隔多少毫秒后,回调方法就会被

关于JavaScript中的setTimeout()链式调用和setInterval()探索

http://www.cnblogs.com/Wenwang/archive/2012/01/06/2314283.html http://www.cnblogs.com/yangjunhua/archive/2012/04/12/2444106.html 下面的参考:http://evantre.iteye.com/blog/1718777 1.选题缘起 在知乎上瞎逛的时候看到一个自问自答的问题: 知乎上,前端开发领域有哪些值得推荐的问答?,然后在有哪些经典的 Web 前端或者 JavaScr

JavaScript常用的方法和函数(setInterval和setTimeout)

1.setInterval:计时器 可以按照指定的周期(以毫秒为单位)来调用函数或计算表达式 调用格式:setinterval(fun,time) 说明:fun为函数体,time为数值,这两个参数是必需的. 返回值为一个对象(interval),用于清理计时器:clearinterval() 示意图如下: 示例如下的页面效果如图所示. (没有特意设置样式所以有些丑QAQ) 说明:将8个div块排列如图,初识样式全无蓝色,点击开始按钮,从A~H依次出现蓝色,并循环出现,点击停止按钮蓝色停止运动.

JavaScript浏览器对象(window对象)之setInterval()和setTimeout()区别和用法

window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别. setTimeout方法是定时程序,也就是在什么时间以后干什么.干完了就拉倒.setInterval方法则是表示间隔一定时间反复执行某操作.如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行.如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:例如: (1): t=setTimeout("northsn