Последние учебники веб-разработки
×

JS Руководство

JS ГЛАВНАЯ JS Введение JS Куда JS Вывод JS Синтаксис JS Заявления JS Комментарии JS переменные JS операторы JS арифметика JS присваивание JS Типы данных JS функции JS Объекты JS Объем JS Мероприятия JS Строки JS Методы струнных JS чисел JS Методы Number JS математический JS Даты JS Форматы даты JS Методы Дата JS Массивы JS Методы массивов JS Booleans JS Сравнения JS условия JS переключатель JS петля For JS В то время как Loop JS Ломать JS Тип преобразования JS RegExp JS ошибки JS отладка JS Подъемно JS Строгий режим JS Гид по стилю JS Лучшие практики JS Ошибки JS Представление JS Зарезервированные слова JS JSON

JS формы

Формы проверки Формы API

JS объект

Определения объектов Свойства объекта Методы объекта Прототипы объектов

JS функции

Определения функций Функциональные параметры Функция Призвание Функция Затворы

JS HTML DOM

DOM вступление DOM методы DOM Документ DOM элементы DOM HTML DOM CSS DOM Анимации DOM Мероприятия DOM EventListener DOM навигация DOM Вершины DOM Nodelist

JS браузер BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Примеры

JS Примеры JS HTML DOM JS HTML вход JS HTML Объекты JS HTML Мероприятия JS браузер JS викторина JS Резюме

JS Рекомендации

JavaScript Объекты HTML DOM Объекты


 

JavaScript чисел


JavaScript имеет только один тип number .

Numbers могут быть записаны с использованием или без знаков после запятой.


JavaScript Числа

JavaScript numbers могут быть написаны с использованием или без десятичных знаков:

пример

var x = 34.00;    // A number with decimals
var y = 34;       // A number without decimals

Очень большие или экстра маленькие числа могут быть написаны с научной (экспонента) обозначения:

пример

var x = 123e5;    // 12300000
var y = 123e-5;   // 0.00123

JavaScript числа всегда 64-бит с плавающей точкой

В отличие от многих других языков программирования, JavaScript не определяет различные типы номеров, таких как целые числа, короткие, длинные, с плавающей точкой и т.д.

Номера JavaScript всегда хранятся в виде чисел двойной точности с плавающей запятой, следуя международному стандарту IEEE 754.

Это сохранит формат числа в 64 битах, где число (дробь) хранится в битах от 0 до 51, показатель в битах 52 до 62, а знак в бите 63:

Значение (ака Фракция / Mantissa) экспонент Знак
52 бита (0 - 51) 11 бит (52 - 62) 1 бит (63)

точность

Целые (номера без периода или показателя нотации) считаются точными до 15 цифр.

пример

var x = 999999999999999;   // x will be 999999999999999
var y = 9999999999999999;  // y will be 10000000000000000
Попробуй сам "

Максимальное количество десятичных знаков 17, но с плавающей запятой не всегда на 100% точным:

пример

var x = 0.2 + 0.1;         // x will be 0.30000000000000004
Попробуй сам "

Для того, чтобы решить эту проблему выше, он помогает умножать и делить:

пример

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x will be 0.3
Попробуй сам "

шестнадцатеричный

JavaScript интерпретирует числовые константы в шестнадцатеричном, если им предшествует 0x.

пример

var x = 0xFF;             // x will be 255
Попробуй сам "

Никогда не пишите номер с ведущим нулем (например, 07).
Некоторые версии JavaScript трактовали число как восьмеричное, если они написаны с ведущим нулем.

По умолчанию, JavaScript отображает числа в качестве основания 10 знаков после запятой.

Но вы можете использовать toString() метод для вывода чисел в качестве основания 16 (шестнадцатеричный), основание 8 (восьмеричное), или основанием 2 (двоичный).

пример

var myNumber = 128;
myNumber.toString(16);     // returns 80
myNumber.toString(8);      // returns 200
myNumber.toString(2);      // returns 10000000
Попробуй сам "

бесконечность

Бесконечность (или -Infinity) значение JavaScript возвратит если подсчитать число вне как можно большего числа.

пример

var myNumber = 2;
while (myNumber != Infinity) {          // Execute until Infinity
    myNumber = myNumber * myNumber;
}
Попробуй сам "

Деление на 0 (ноль) также порождает бесконечность:

пример

var x =  2 / 0;          // x will be Infinity
var y = -2 / 0;          // y will be -Infinity
Попробуй сам "

Бесконечность номер: typeOf бесконечность возвращает число.

пример

typeof Infinity;        // returns "number"
Попробуй сам "

NaN - Не Число

NaN является зарезервированным словом JavaScript , указывающий , что значение не является числом.

Попытка выполнять арифметические действия с нечисловом строки приведет к NaN (не число):

пример

var x = 100 / "Apple";  // x will be NaN (Not a Number)
Попробуй сам "

Тем не менее, если строка содержит числовое значение, то результат будет номер:

пример

var x = 100 / "10";     // x will be 10
Попробуй сам "

Вы можете использовать глобальную функцию JavaScript isNaN() , чтобы выяснить , является ли значение числом.

пример

var x = 100 / "Apple";
isNaN(x);               // returns true because x is Not a Number
Попробуй сам "

Следите за NaN. Если вы используете NaN в математической операции, результат также будет NaN:

пример

var x = NaN;
var y = 5;
var z = x + y;         // z will be NaN
Попробуй сам "

Или результат может быть конкатенации:

пример

var x = NaN;
var y = "5";
var z = x + y;         // z will be NaN5
Попробуй сам "

NaN является числом, и typeof NaN возвращает номер:

пример

typeof NaN;             // returns "number"
Попробуй сам "

Числа могут быть объектами

Обычно JavaScript номера примитивные значения создаются из литералов: var x = 123

Но цифры также могут быть определены как объекты с ключевыми словами нового: var y = new Number(123)

пример

var x = 123;
var y = new Number(123);

// typeof x returns number
// typeof y returns object
Попробуй сам "

Не создавайте Количество объектов. Это замедляет скорость выполнения.
new ключевое слово усложняет код. Это может привести к неожиданным результатам:

При использовании == оператора равенства, равное число выглядит равным:

пример

var x = 500;             
var y = new Number(500);

// (x == y) is true because x and y have equal values
Попробуй сам "

При использовании оператора === равенство, равные числа не равны, так как оператор === ожидает, что равенство в обоих типов и стоимости.

пример

var x = 500;             
var y = new Number(500);

// (x === y) is false because x and y have different types
Попробуй сам "

Или еще хуже. Объекты нельзя сравнивать:

пример

var x = new Number(500);             
var y = new Number(500);

// (x == y) is false because objects cannot be compared
Попробуй сам "

Объекты JavaScript нельзя сравнивать.


Проверьте себя с упражнениями!

Упражнение 1 » Упражнение 2» Упражнение 3 » Упражнение 4»