社区
JavaScript
帖子详情
请问setInterval是不是不能精确到毫秒的?
callmesai
2012-01-12 04:30:21
把第二个参数设置为1好像只能精确到10--20毫秒之间,而且不知道是不是内存泄漏了,久了会卡
谢谢指点
...全文
312
8
打赏
收藏
请问setInterval是不是不能精确到毫秒的?
把第二个参数设置为1好像只能精确到10--20毫秒之间,而且不知道是不是内存泄漏了,久了会卡 谢谢指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
是毫秒
为什么Javascript的
setInterval
比C#的Timers更
精确
您正在解决经典的Windows计时器解析问题。 默认情况下,Windows中的计时器分辨率为15.6
毫秒
,这意味着当您启动一个周期性计时器时,指定一个16.7
毫秒
的间隔,您可能会准确地收到下一个事件,或者延迟时间最多。 ..
timepiece:基于
setInterval
的事件发射器
钟表 围绕
setInterval
构建的一组事件发射器。 它供休闲使用,API非常简单明了。 我不建议将秒表用于基准测试,性能测试或其他要求精度高于千分之一秒的秒表。 基类是Timepiece 。 因此,有一些子类。 Metronome :设置节拍,以每分钟节拍数为单位。 将事件侦听器添加到“ tick”事件。 Countdown计时器:倒数计时器,以秒为单位进行设置。 Stopwatch :测量经过的时间并保存分割。 由于无法
精确
地确保
setInterval
触发事件的发生时间,因此如果您需要
精确
到
毫秒
或更高的精度,请不要使用此方法。 所有类都将发出以下事件: 'start' :对象启动时发出。 'stop' :对象停止时发出。 'set' :更改对象上的某些设置时发出。 设置因班级而异。 'tick' :对象启动后,将在一定时间间隔内发出'tick'事件。 该间隔是每秒一
秒表计时器
计时器,
精确
到
毫秒
计时
Js中setTimeout()和
setInterval
() 何时被调用执行的用法
定义setTimeout()和
setInterval
()经常被用来处理延时和定时任务。setTimeout() 方法用于在指定的
毫秒
数后调用函数或计算表达式,而
setInterval
()则可以在每隔指定的
毫秒
数循环调用函数或表达式,直到clearInterval把它清除。从定义上我们可以看到两个函数十分类似,只不过前者执行一次,而后者可以执行多次,两个函数的参数也相同,第一个参数是要执行的code或句柄,第二个是延迟的
毫秒
数。很简单的定义,使用起来也很简单,但有时候我们的代码并不是按照我们的想象
精确
时间被调用的,很让人困惑简单示例看个简单的例子,简单页面在加载完两秒后,写下Delayed al
TiAccurateTimer:Titanium 的准确 iOS 计时器模块,改进了 JavaScript
setInterval
和 setTimeout 函数。 适用于基本媒体应用程序和游戏
精准定时器模块 version 1.2, 2015, jan: open sourced version 1.0, 2012, jun 描述 适用于 iOS 的
精确
计时器模块,精度为
毫秒
,主要用纯 C 编写。 JavaScript 的
setInterval
()函数有一个低精度的计时器,更糟糕的是,在每次迭代时都会累积其时间误差,这会导致任何计时操作在几秒钟内完全失去同步(想想节拍器或类似的东西)。 AccurateTimer 解决了这个问题,并确保您的回调函数以您期望的延迟被调用,从低级别高优先级函数执行。 AccurateTimer 的开发考虑到了准确性和性能。 用户回调函数以最小负载执行以避免意外延迟。 但是,请记住,一旦执行了 Titanium 回调函数,性能就取决于 Javascript 运行时机器,因此取决于函数的复杂性。 保持你的回调函数轻量级,之前加载到内存资源中,比
JavaScript
87,921
社区成员
224,619
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章