settimeout会休眠吗,set timeout

http://www.itjxue.com  2023-01-22 22:12  来源:未知  点击次数: 

js for循环如何延时休眠

for语句不会因为有setTimeout的存在而停止,他会跳过setTimeout,setTimeout设定的是100毫秒的延迟,而for语句执行根本用不了那么长时间所以会先弹出九个alert,然后才setTimeout中的alert 可以使用递归来解决这个问题 var i=0; function al() { i++; if(i10) setTimeout(function(){alert("i="+i);al()},2000); } al();

javascript 如何实现程序休眠?

1. jquery的$.delay()方法

设置一个延时来推迟执行队列中之后的项目。这个方法不能取代JS原生的setTimeout。

The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.

例子:在.slideUp() 和 .fadeIn()之间延时800毫秒。

HTML 代码:

div id="foo /"

jQuery 代码:

$('#foo').slideUp(300).delay(800).fadeIn(400);

2. 通过循环消耗cpu

function sleep(n) {

var start = new Date().getTime();

while(true) if(new Date().getTime()-start n) break;

}

3. 用setTimeout。

假设有三个步骤,步骤之间需要暂停一段时间;可以采用如下的方法:

function firstStep() {

//do something

setTimeout("secondStep()", 1000);

}

function secondStep() {

//do something

setTimeout("thirdStep()", 1000);

}

function thirdStep() {

//do something

}

JS 用setTimeout 那本身的函数不就永远不会终止吗

首先,setTimeout是可以取消的,可以不让其永远不终止,方法如下:

var?timer?=?null;

function?f(){

????alert("k");

????timer?=?setTimeout(f,1000);

}

//?在另外一个函数中,在某种条件下,取消之前的定时器

clearTimeout(timer);

这样,timer就不再执行了,也就不会再次调用函数f,生成新的定时器。

其次,关于内存,js类似于java有垃圾回收机制,一些不会再次用到的变量等,会被清理。只要是作用域不逃出函数f的,函数f执行完毕后,js总是有办法将其销毁,当然不一定百分百销毁。这样的话,内存怎么会越来越多呢?只有函数f在执行的时候会多一些,但随即又会被清理的。

最后,即便没有clearTimeout,在浏览器关闭的时候,一切都会消失的。

要提醒的是,如果函数f里在不停的创建对象,而且在函数f执行完毕后,这些对象又是被引用的,确实会有内存被越来越多的占用。

如果用了setTimeout但是一直不关闭setTimeout有什么坏处

没有什么坏处 就跟程序加没加注释一样 为了规范化 最好关闭一下

望采纳,谢谢!

js 中的for循环 怎么每循环一次睡眠3秒

js 控制隔一定时间再执行的函数有 setTimeout 和setInterval 但这两个都是异步的。把这两个函数写在for循环里面,执行的顺序是执行完了整个for循环 再执行setTimeout 和setInterval函数。不能实现每循环一次停顿几秒的效果。例如 for(var i=0;i7;i++){console.log("for: "+i);setTimeout(function(){console.log("set:"+i)})} 这个的执行结果是 先打印出 for:0到6 再打印6次 set:7

(责任编辑:IT教学网)

更多

相关Discuz!建站文章

推荐Discuz!建站文章