请问setInterval是不是不能精确到毫秒的?

callmesai 2012-01-12 04:30:21
把第二个参数设置为1好像只能精确到10--20毫秒之间,而且不知道是不是内存泄漏了,久了会卡

谢谢指点
...全文
312 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
easyuu 2012-01-13
  • 打赏
  • 举报
回复
这个都是理论上的
你得知道JS是单线程的,window.setInterval(myFunction,1),是在相隔1毫秒的位置上,插入执行代码,但并不能保证在那一刻执行

举个例子:

window.setInterval(myFunction,1)
b();

myFunction这个函数被插到b函数后面执行,如果b函数它执行了30毫秒,那么myFunction这个函数要等到30毫秒后开始执行,而且myFunction执行本身也是要时间
记住,JS是单线程的,前面的代码后阻塞后面的代码执行
callmesai 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 easyuu 的回复:]
这个都是理论上的
你得知道JS是单线程的,window.setInterval(myFunction,1),是在相隔1毫秒的位置上,插入执行代码,但并不能保证在那一刻执行

举个例子:

JScript code


window.setInterval(myFunction,1)
b();


myFunction这个函数被插到b函数后面执行,如果b函数它执行了30毫秒……
[/Quote]

哦,谢谢!
Acesidonu 2012-01-12
  • 打赏
  • 举报
回复
要看机器支不支持了
callmesai 2012-01-12
  • 打赏
  • 举报
回复
大约10--20毫秒时间,毫秒单位才减1

打错

callmesai 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zsx841021 的回复:]
不太明白你什么意思。。。它第二个参数本来就是毫秒计算的。。
[/Quote]


但是我在一个页面写 window.setInterval(myFunction,1)实现倒计时效果每次给毫秒数字减1,大约10--20毫秒时间,秒单位才减1

这个和机器有关系吗?
三石-gary 2012-01-12
  • 打赏
  • 举报
回复
不太明白你什么意思。。。它第二个参数本来就是毫秒计算的。。
callmesai 2012-01-12
  • 打赏
  • 举报
回复
如果真的不能精确到毫秒,那很多网站上的毫秒倒计时是不是用其他方法伪实现的?例如每次毫秒数字不是减一而是减N?

谢谢~~
KeenWon 2012-01-12
  • 打赏
  • 举报
回复
是毫秒

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧