8e3评估的是多少?

我今天遇到了这个代码:

b = setTimeout(function () { // do some javascript stuff here }, 8e3) 

超时设置为8e3 。 这段时间等于几毫秒,为什么有人会选择这种奇怪的符号? 代码似乎function齐全。

8e3是三次8e3的八倍,即8000.这被称为科学(或指数)符号 。 试想一下,“e”代表“* 10 ^”。

在这种情况下,使用该表示法并没有多大意义,但是一旦开始获得更大的数字,指数表示法就会变得更具可读性。 要计算出“1000000000”是多少,你必须计算零,但1e9立即显而易见。

这称为浮点符号科学符号 。 它是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 

还有一篇关于该主题的维基百科文章: 科学记谱法

8e3正好是8000 ,所以时间恰好是8秒。

这可以被选择(例如,通过一些代码缩小器),因为它恰好需要3个字符而不是4个来表示8000 。 这意味着你在这个单一的地方获得25%的空间:)

这不是“奇怪的”符号,它只是表达数字的另一种方式: 浮点符号

8 * 10 3 = 8000 ms,即8秒