Подтвердить что ты не робот

Какое число оценивается 8e3?

Сегодня я столкнулся с этим кодом:

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

Тайм-аут установлен на 8e3. Какое время это соответствует в миллисекундах, и почему кто-нибудь выбирает эту странную нотацию? Код выглядит полностью функциональным.

4b9b3361

Ответ 1

8e3 - восемь раз десять, до трех, т.е. 8000. Это называется научная (или экспоненциальная) нотация. Представьте себе, что "e" означает "* 10 ^".

В этом случае нет смысла использовать эту нотацию, но как только вы начинаете получать большие числа, экспоненциальная нотация становится более читаемой. Чтобы выяснить, сколько "1000000000" вам нужно будет подсчитать нули, но 1e9 сразу становится очевидным.

Ответ 2

Это называется нотации с плавающей запятой или научной нотации. Это 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

В этой статье также есть статья по википедии: Научная нотация

Ответ 3

8e3 точно 8000, поэтому время составляет ровно 8 секунд.

Это может быть выбрано (например, некоторым кодом minifiers), потому что для представления 8000 требуется всего 3 символа вместо 4. Это означает, что вы получаете 25% с точки зрения пространства в этом единственном месте:)

И это не "странная" нотация, это просто еще один способ выражения чисел: Обозначение с плавающей запятой

Ответ 4

8 * 10 3= 8000 мс, что составляет 8 секунд