JavaScript 中的 setTimeout 是否接受真实(浮点)延迟时间_ [英] Does setTimeout in JavaScript accept real (floating point) delay times_
问题描述
我只是在查看 JavaScript 计时事件,那里说第二个参数表示从现在开始执行第一个参数的毫秒数."
I was just looking at JavaScript Timing Events, and there it says that "The second parameter indicates how many milliseconds from now you want to execute the first parameter."
现在,我知道在 JavaScript 中,浮点数和整数都是 Number
类型,因此在语法上我可以输入一个浮点值,例如'setTimeout("javascript statement",4.5);
' - 然而,JavaScript 甚至会尝试在那里创建 4.5 毫秒的延迟吗?还是会自动截断为整数并继续?
Now, I know that in JavaScript, both floating point and integers are of type Number
, and so syntactically I can enter a floating point value, e.g. 'setTimeout("javascript statement",4.5);
' - however, will JavaScript even attempt to create a delay of 4.5 milliseconds there; or will it just automatically truncate to integer and go on?
提前感谢您的回答,
干杯!
Thanks in advance for any answers,
Cheers!
推荐答案
这几乎肯定是浏览器相关的(我没有检查它不是 语言规范),但通常该值存储在 32 位有符号整数中,因此只接受 0
和 2^31 - 1
之间的整数值.
This is almost certainly browser-dependent (I haven't checked it's not part of the language spec), but typically this value is stored in a 32-bit signed int, so would only accept integer values between 0
and 2^31 - 1
.
这篇关于JavaScript 中的 setTimeout 是否接受真实(浮点)延迟时间_的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!