草庐IT

settimeouts

全部标签

javascript - setTimeout 和 array each

我对使用setTimeout和each迭代器感到困惑。我如何重写以下内容,以便控制台在延迟5秒后输出每个名称?目前,下面的代码会在5秒后一次打印所有名称。我愿意:1)等待5秒,然后打印kevin2)等待5秒,然后打印mike3)等待5秒,然后打印sallyvarary=['kevin','mike','sally'];_(ary).each(function(person){setTimeout(function(){console.log(person);},5000);}); 最佳答案 您有三个基本选项:For循环+setTim

c# - 脚本中 setTimeout 和 setInterval 函数的等价物#

如何在C#和Script#中使用setTimeout()和setInterval方法?比如怎么写:setInterval(function(){alert("Hello")},3000);? 最佳答案 SetTimeout()和SetInterval()是Script类(或Window以前版本的一部分)脚本#intintervalid=Script.SetInterval(delegate{Window.Alert("Hello");},3000);或者你可以写一个明确的处理函数:Script.SetTimeout(TimeoutH

javascript - Javascript setTimeout是否停止其他脚本执行

我指的是this.一切都还不清楚。我有一个JS函数fillTree()可以更新一棵树,它有复选框。我有另一个函数checkSelectedBoxes(),它在window.onload上执行,检查选中的复选框。现在连接了很多其他功能。我的问题:如果我正在使用setTimeout(),其他脚本函数是否也会停止并等待我的函数完成加载?这可能是什么情况:functionfillTree(){...}functioncheckSelectedBoxes(){...}fillTree();//Thistaketimetogetdata.onLoad()doesntwork.setTimeout(

javascript - 调用 setTimeout 是否清除调用堆栈?

在javascript中可以通过setTimeout方法调用函数而不是直接调用函数来避免堆栈溢出吗?我对setTimeout的理解是它应该启动一个新的调用堆栈。当我查看chrome和IE的调用堆栈时,似乎setTimeout调用正在等待函数调用返回。这只是调试器的一个属性还是我的理解有问题?编辑虽然下面提供的答案是正确的,但我遇到的实际问题与我正在调用setTimeout(aFunction(),10)的事实有关,由于括号的缘故,它正在立即评估aFunction。Thisquestion把我整理出来。 最佳答案 我可以确认堆栈已被清

javascript - setTimeout 或 setInterval 是否使用线程触发?

我一直在看这篇文章http://ejohn.org/blog/how-javascript-timers-work/以及setTimeout和setInterval以及按钮点击等其他异步任务如何让我有些困惑。我知道JS是单线程的,也就是说,据我所知,所有回调函数(又名事件处理程序)都将排队并按顺序执行。但是,请看下面我从上面链接的文章中截取的图片:每个block代表一些工作,并且-在大约10毫秒-计时器被触发。我知道它的回调函数被放在队列中供以后执行,但是为什么已经在执行某些事情时可以调用事件呢?是因为setTimeout()开始使用一个单独的线程来计算内部时间并触发其完成事件吗?请注

javascript - 为什么人们说 javascript eval() 是邪恶的,但您却没有反对 setTimeout 和 setInterval 等?

如果我没记错的话,eval会执行给定字符串中的有效代码eval("alert('hey')");和setTimeout("alert('hey')",1000);做同样的事情,只是用了一个计时器。settimeout和eval一样有风险吗? 最佳答案 我想说你听到了同样的反对意见。setTimeout(带有字符串而不是函数参数)与eval几乎相同。如果可能的话,setTimeout(function(){alert("hey");},1000); 关于javascript-为什么人们说j

javascript - 嵌套的 setTimeout 替代方案?

我需要在1秒延迟内执行3个函数。为简单起见,这些函数是:console.log('1');console.log('2');console.log('3');我可以这样做:(非常丑陋)console.log('1')setTimeout(function(){setTimeout(function(){console.log('2')setTimeout(function(){console.log('3')},1000)},1000)},1000)或者我可以创建一个array函数并使用setInterval和global计数器。有什么优雅的方法可以做到这一点吗?(附注:2号函数不依赖

javascript - 为什么有些 JavaScript 开发人员使用 setTimeout 为一毫秒?

这个问题在这里已经有了答案:WhyissetTimeout(fn,0)sometimesuseful?(19个回答)关闭9年前。我在使用jQuery插件时遇到问题tablesorter而且我不能调用触发器两次。例如这行不通:this._$table.trigger('update');this._$table.trigger('sorton',[[[1,1]]]);但这行得通:this._$table.trigger('update');setTimeout($.proxy(function(){this._$table.trigger('sorton',[[[1,1]]]);},th

javascript - setTimeout 和 window.location (location.href) 不工作

我想在5秒内将用户重定向到index.php,但它立即重定向了我。我不想在这个简单的代码中使用jQuery。setTimeout(function(){location.href="index.php",5000}); 最佳答案 这是正确的方法...setTimeout(function(){location.href="index.php"},5000);你可以在这里查看文档:https://developer.mozilla.org/en/docs/DOM/window.setTimeout语法:vartimeoutID=win

javascript - setTimeout - 如何避免使用字符串进行回调?

使用setTimeout时,必须将要执行的代码放入字符串中:setTimeout('alert("foobar!");',1000);但是,我想执行一个在变量中有引用的函数。我希望能够做到这一点:varmyGreatFunction=function(){alert("foobar!");};//...setTimeout('myGreatFunction();',1000);(尽管在现实生活中,警报是一段较长的代码,myGreatFunction作为参数传递给其他函数,其中调用了setTimeout。)当然,当超时触发时,myGreatFunction不是可识别的函数,因此它不会执行