Js中setTimeout和setInterval 何时被调用执行的用法

Js中setTimeout和setInterval 何时被调用执行的用法,第1张

setTimeout和setInterval的作用只是把你要执行的代码在你设定的一个时间点插入js引擎维护的一个代码队列中, 插入代码队列并不意味着你的代码就会立马执行的
简单说setTimeout只执行一次倒计时 *** 作,而setInterval是循环运行的。
不同的是setTimeout会比setInterval使用更加灵活,可以很方便的控制他的时间以及结束他
function click() { 
setTimeout(function(){
slick();
}, 200);

click();
上面这样写 就跟setInterval一样了 可以无限的执行下去,除非clearTimeout()它。

正如楼上所说的,js只能 *** 作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:indexhtml。

2、在indexhtml中的<body>标签中输入:<button onclick="setTimeout(send, 1000)">btn</button>,<script>标签中输入js代码:function send() {documentbodyinnerText = 'use send';}。

3、浏览器运行indexhtml页面,点击btn按钮。

4、等待1秒后,确实执行了send()方法打印了“use send”文本。

首先要区分它们的用途,再看你怎么选择了
setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。
区别:windowsetTimeout("function",time);//设置一个超时对象,只执行一次,无周期
windowsetInterval("function",time);//设置一个超时对象,周期='交互时间'
如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。
setInterval 不断地执行指定代码直到调用clearInterval清除定时器对象
setTimeout 执行一次指定代码,使用clearTimeout清除定时器对象
setInterval和setTimeout都返回定时器对象标识符,用于clearInterval和clearTimeout调用

<script type="text/javascript">
function test(name,time){
alert(name);
setTimeout(function() { test(name,time); },time);//setTimeout();这里应该怎么写 
}

test("123", 1000);
</script>

其实和setInterval这个函数的功能是一样的

<script language="JavaScript" type="text/javascript">
//setTimeout后固定时间后执行指定内容,单位毫秒
//写法一
/
var iID=setTimeout(function(){
alert(iID);
},1000);
/
//写法二
var iID=setTimeout("clock()",2000);//或者var iID=setTimeout(clock,2000);
function clock(){
alert(iID);
}
clearTimeout(iID);
//setInterval用法与setTimeout相同,只是setTimeout固定时间后执行且只执行一次。setInterval循环每过一段固定时间执行一次。
//每次调用setTimeout或setInterval函数都会产生一个唯一的ID,可以通过clearTimeout或clearInterval函数(这两个函数的参数对应接收一个setTimeout或setInterval返回的ID)暂停setTimeout或setInterval函数,(同一个setInterval循环其返回值不变)
//但是测试clearInterval(iID)可阻止setTimeout,clearTimeout(iID)也可阻止setInterval的继续执行
</script>

SetTimeOut("a()",1000)
有个问题。既然你都刷新了。那么后面的JS怎么还会执行呢?
我觉得你想刷新后再接着执行JS代码,这个不可能实现。如果你实现了,贴出来学习下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13380143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存