首页 新闻 会员 周边

setTimeout("1")

1
悬赏园豆:5 [已解决问题] 解决于 2017-05-04 14:59

setTimeout("1") 神奇的用法,有人知道什么意思嘛


小精灵儿Pawn的主页 小精灵儿Pawn | 菜鸟二级 | 园豆:470
提问于:2017-01-01 13:59
< >
分享
最佳答案
1

是想问setTimeout(function(){},1)吧?

是这样的,js本身单线程,任何事件只能等到线程空闲后才能执行。

那么,我们如果想要让某些代码在后续代码执行后,再执行呢?

前面说到任何事件都要等当前线程空闲才能执行,那么我们自然就可以用setTimeout构造一个定时器,先继续执行后续代码,等后续代码执行完成后,js再判断setTimeout是否超时(是的,js setTimeout只能保证执行时已超过设定时间,无法精确控制何时实行)。又由于我们设置的超时时间为1,那么默认等当前代码执行之后立即(假如没有其他事件刚好先来的话)执行setTimeout回调。

当然,如果超时时间设置个100的话,肉眼也不一定看的出明显差别

收获园豆:5
Nyarlathotep | 菜鸟二级 |园豆:271 | 2017-01-03 21:27
其他回答(4)
0

在放一些代码出来看看呀。不知道你要说明什么。

czd890 | 园豆:14412 (专家六级) | 2017-01-01 17:31
0

setTimeout("1");
557
setTimeout("1");
559
setTimeout("1");
561
setTimeout("1");
563

完全不懂啥意思?

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-01-03 09:24

setTimeout()函数将返回一个标识符 ID,这个 ID 是唯一的(一般是整数,从1开始,每调用一次 setTimeout() 就加1) = =!

支持(0) 反对(0) 让我发会呆 | 园豆:2929 (老鸟四级) | 2017-01-03 09:32
0

这个用法有时候用来二次初始化网页.

但行好事-莫问前程 | 园豆:254 (菜鸟二级) | 2017-01-03 10:26
0

增加cpu负担,让你的网页更卡顿,你值得拥有。

长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-01-03 17:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册