作者yuoo1580 (da5f)
看板Ajax
标题[问题] setTimeout的回圈
时间Mon Apr 9 19:06:12 2018
不好意思打扰到大家
最近在学习js上遇到了问题
希望有版友能帮我解惑qq
这是codepen程式码
http://t.cn/RmIhfxK
我使用阵列进入回圈跑判断
在使用setTimeout设定延迟
一开始我使用var
出现undefined 後来查资料去了解
因为使用var 回圈会先跑完才去执行(我不确定我这样理解有没有误)
我找到2个解决方法
1个是使用closure
2是使用let
我使用let之後不会出现undefined了
但却没有延迟…会同时执行
想询问原因与解决方法
非常感谢大家的帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.9.0.29
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1523271975.A.D89.html
1F:→ MangoTW: 就 for 回圈内部而言,var i 是同变数,let i 则各次独立04/09 22:00
2F:→ MangoTW: 所以 var i 回圈跑完早就变成 5 了,接着 timeout 才触发04/09 22:00
3F:→ kolz: 你let的setTimeout第一个参数不是function04/10 00:45
4F:→ yuoo1580: 谢谢m大和k大~ 想询问k大 意思是我的setTimeout的fun04/10 02:38
5F:→ yuoo1580: ction需要另外写吗?04/10 02:38
6F:推 LPH66: kolz 说的是 setTimeout(console.log("1"), time2); 不对04/10 07:02
7F:→ LPH66: 应要 setTimeout(function(){console.log("1");},time2);04/10 07:05
8F:→ LPH66: 或者至少也要是 setTimeout('console.log("1")', time2);04/10 07:07
9F:→ yuoo1580: 好的 非常谢谢L大04/10 10:52
10F:→ yuoo1580: 喔喔!! 我成功了 谢谢大家的帮忙 非常感谢04/10 10:55
※ 编辑: yuoo1580 (101.9.0.29), 04/10/2018 10:57:32