JS Minification / Closure Compiler меняет числа с базы 10 на что-то еще? - PullRequest
1 голос
/ 08 декабря 2011

Я запускаю JS через компилятор googles closure и кое-что заметил, как он обрабатывает числа.Кажется, что они преобразованы в нечто иное, чем основание 10, и я не могу понять, что это такое.

javascript:(function(){
 var x = 30000;
 console.log(x);
})();

Результаты:

(function(){console.log(3E4)})();

Как 3E4 == 30000

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Это называется Научная запись , особенно часть "Электронная запись" - это то, что вам нужно.

В основном, aEb === a * Math.pow(10, b) (хотя это будет синтаксическая ошибка - a и b должны быть литералами, b даже должен быть целым числом).

3 * Math.pow(10, 4) === 30000; // true

3 и 4 только в базе 10. Это не имеет ничего общего соснований на самом деле.

1 голос
/ 08 декабря 2011

3e4 - это то же самое, что «говорящий» 3, умноженный на 4 порядка, или 3 с 4 нулями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...