我今天遇到了这段代码:
b = setTimeout(function () {
// do some javascript stuff here
}, 8e3)
超时设置为8e3
。这段时间等于几毫秒,为什么有人会选择这种奇怪的符号?该代码似乎完全正常运行。
答案 0 :(得分:35)
8e3
是三倍的力量的八倍,即8000.这称为scientific (or exponential) notation。试想一下,“e”代表“* 10 ^”。
在这种情况下,使用该表示法并没有多大意义,但是一旦开始获得更大的数字,指数表示法就会变得更具可读性。要计算出“1000000000”是多少,你必须计算零,但1e9是显而易见的。
答案 1 :(得分:17)
这称为浮点表示法或科学记数法。它是8×10 3, 8000毫秒。 e代表第10个指数。让我举几个例子:
1e3 = 1000 // 1×10³
1e0 = 1 // 1×10⁰
1e-1 = 0.1 // 1×10⁻¹ -> Works also for the negatives
1.23e9 = 1230000000 // And really makes sense to shorten big numbers
还有关于该主题的维基百科文章: Scientific Notation
答案 2 :(得分:9)
8e3
正好是8000
,所以时间恰好是8秒。
可以选择(例如,通过一些代码缩小器),因为它只需要3个字符而不是4个来表示8000
。这意味着你在这个地方获得了25%的空间:)
这不是“奇怪的”符号,它只是表达数字的另一种方式:Floating point notation
答案 3 :(得分:9)
8 * 10 3 = 8000 ms,即8秒