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. LintCode-赋值运算符重载

    实现赋值运算符重载函数.确保: 新的数据可准确地被复制 旧的数据可准确地删除/释放 可进行 A = B = C 赋值 您在真实的面试中是否遇到过这个题? Yes 例子 假设进行 A = B 赋值.则 ...

  2. Servlet监听器及在线用户

    Servlet中的监听器分为三种类型Ⅰ 监听ServletContext.Request.Session作用域的创建和销毁 (1)ServletContextListener (2)HttpSessi ...

  3. Struts2+MySQL登录注册

    下载地址:http://download.csdn.net/detail/qq_33599520/9777172 项目结构图: 代码: package com.mstf.action; import ...

  4. fixed说明

    http://blog.163.com/hc_ranxu/blog/static/367231822013102265151785/

  5. js实现图片上传后即时预览

    //关于FileReader对象 http://blog.csdn.net/zk437092645/article/details/8745647 <!DOCTYPE html> < ...

  6. 解决HMC在IE浏览器无法登录的问题(Java Applet的使用问题)

    管理IBM的小型机必须要用到HMC(Hardware Management Console),有时候在使用测试环境使用的时候我们会把HMC装到自己电脑上的虚拟机里面,然后管理小型机,但是在虚拟机里面使 ...

  7. python IO编程-序列化

    原文链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143192607 ...

  8. docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置

    原文:docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_3767485 ...

  9. 警惕 InnoDB 和 MyISAM 创建 Hash 索引陷阱

    MySql 最经常使用存储引擎 InnoDB 和 MyISAM 都不支持 Hash 索引,它们默认的索引都是 B-Tree.可是假设你在创建索引的时候定义其类型为 Hash,MySql 并不会报错,并 ...

  10. Linux下无需输入password自己主动登陆sshserver方法

    用OpenSSH在linux下登陆sshserver时.每次都提示要输入password,并且使用vim 的netrw插件编辑远程文件时每次改动后保存都要输password,很麻烦. 查看了netrw ...