js的setInterval和setTimeout的那些浅坑
2024-09-25 15:51:40
setInterval和setTimeout的区别简单提一下
- setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
- setTimeout() :在指定的毫秒数后调用函数或计算表达式。
setInterval(code,millisec,lang),
setTimeout(code,millisec,lang)
参数 | 描述 |
---|---|
code | 必需。要调用的函数或要执行的代码串。 |
millisec | 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 |
lang | 可选。 JScript | VBScript | JavaScript |
需要注意的是在使用setInterval,或setTimeout 指定所要运行的函数,并需要给所运行函数传值时,
尽量不要使用 setInterval(函数名(arg0,arg1),1000)的方式进行传值,因为这样是错误的,它会导致
//js代码运行到此处时,直接执行该 函数名(arg0,arg1) 这个函数,而不会先等待1000毫秒后再次执行,这个问题
//不管是在setInterval或者setTimeout中都是如此,假设你参数传参是没有问题的情况下,如果参数有问题,那肯定直接报错了~~,也或者setInterval会出现定时器执行一次就不会再执行等错误情况
//或者使用 setInterval(”函数名(arg0,arg1)“,1000)的方式进行传值,但尽管使用了“”双引号的
//方式,包含了所要调用的 函数名称 , 但是对于这样的传参方式,也是需要进行拼接的,
//最好的在执行定时器时,定时执行所对应的functin函数的方法则是,采用setInterval或setTimeout方法体的形式进行传参
//如 setTimeout(function(){ 要调用的函数名(arg0,arg1) },1000); 采用这种方法传值,一般都是会没有问题的;setInterval也是如此
一些小例子:setInterval
<html>
<body> <input type="text" id="clock" />
<script type="text/javascript">
var int=self.setInterval("clock()",1000);
function clock()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("clock").value=t;
}
</script>
此处清除定时器
<button onclick="int=window.clearInterval(int)">停止</button> </body>
</html>
setTimeout实现定时不断执行,一般则是方法递归方法的方式实现
最新文章
- 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Section 5 The accuracy of simple random samples
- NodeJS Debugger
- web前端基础篇④
- css让div水平垂直居中
- struts ModelDriven
- 基于C#实现的自动化测试框架:发布自动触发自动化回归测试
- 好用的漂浮广告 jquery
- java程序员常用的linux命令
- 王之泰201771010131《面向对象程序设计(java)》第六周学习总结
- 419. Battleships in a Board 棋盘上的战舰数量
- 《Linux就该这么学》第三天课程
- SAS 通过逻辑库引用名实现相关联
- Oracle DBMS_RANDOM
- Mongodb数据结构及与MySql对比
- 基于qml创建最简单的android机图像采集程序
- python笔记03:使用字符串
- HDUOJ--------1003 Max Sum
- HTTPS 使用成本
- 无法读取服务器服务中的服务器队列性能数据。数据段的第一个四字节 (DWORD) 中包
- webservice的cxf和spring整合客户端开发
热门文章
- aspx页面调用webapi接口报错:远程服务器返回错误:(500)内部服务器错误
- lnmp.org + phpstorm + xdebug
- Windows服务的新建,安装,卸载,调试以及调用!
- jQuery1.6.1源码分析系列(作者:nuysoft/高云)
- {g2o}Installation Notes:ccmake
- 将centos6的php5.3升级为5.6
- 初习mysql procedure
- POJ 2831 Can We Build This One?
- Robot Framework(十二) 执行测试用例——配置执行
- roi_pooling层