Javascript 8e3的计算结果是多少?
我今天遇到了以下代码:Javascript 8e3的计算结果是多少?,javascript,jquery,Javascript,Jquery,我今天遇到了以下代码: b = setTimeout(function () { // do some javascript stuff here }, 8e3) 超时设置为8e3。这等于几毫秒,为什么有人会选择这种奇怪的符号?代码似乎功能齐全。8e3正好是8000,因此时间正好是8秒 这是可以选择的(例如一些代码缩小者),因为它只需要3个字符而不是4个字符来表示8000。这意味着您在这一个地方获得了25%的空间:) 这不是“奇怪”的符号,它只是表示数字的另一种方式:8e3是三的八倍十
b = setTimeout(function () {
// do some javascript stuff here
}, 8e3)
超时设置为
8e3
。这等于几毫秒,为什么有人会选择这种奇怪的符号?代码似乎功能齐全。8e3
正好是8000
,因此时间正好是8秒
这是可以选择的(例如一些代码缩小者),因为它只需要3个字符而不是4个字符来表示8000
。这意味着您在这一个地方获得了25%的空间:)
这不是“奇怪”的符号,它只是表示数字的另一种方式:
8e3
是三的八倍十的幂,也就是8000。这就是所谓的。想象一下,“e”代表“*10^”
在这种情况下,使用这种表示法并没有多大意义,但一旦开始使用更大的数字,指数表示法就会变得更具可读性。要计算出“100000000”是多少,您必须计算零,但1e9是显而易见的。这称为浮点表示法或科学表示法。它是8×10³,即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
维基百科也有一篇关于这个话题的文章:8*103=8000毫秒,也就是8秒+1个很好的解释。今天我学到了一些东西。我不知道我可以在javascript中使用它:D@brenjt:如果你不能在JavaScript中使用它,那会很奇怪;)它(几乎)无处不在(在每种编程语言中),我相信;)@我不确定我是否同意。在大多数C语言中,
8e3
是一个浮点常量,不能隐式转换为整数。JavaScript则不同,因为它不区分浮点数和整数。(还有其他一些类似的语言,但我还是很难说“无处不在”就是这种情况。)@ruakh这不意味着你可以使用8e3,在那里你可以使用浮点数“几乎无处不在”?@ruakh:JavaScript只有一个数字类型,所以8e3应该和8000没有什么不同。这段代码以前已经过精简,所以我相信这就是符号的来源。谢谢