Математические операции в JS безопасны — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Математические операции в JS безопасны

2022-10-05 33
Математические операции в JS безопасны 0.00 из 5.00 0 оценок
Заказать работу

Математические операции в JavaScript не могут привести к ошибке или «обрушить» программу, в худшем случае результат будет NaN.

IsFinite(n)

Итак, в JavaScript есть обычные числа и три специальных числовых значения: NaN, Infinity и -Infinity.

Обычно если мы хотим от посетителя получить какое-нибудь число, то значения в виде Infinity или NaN нам не подходят. Для того чтобы отличить «обычные» числа от таких специальных значений, существует функция isFinite(), она преобразует аргумент к числу и возвращает true, если это не NaN/Infinity/-Infinity:

alert(isFinite(1)); // true

alert(isFinite(Infinity)); // false

alert(isFinite(NaN)); // false

Оберткипростыхтипов

JavaScript позволяет работать со значениями примитивных типов как с объектами, в том смысле, что язык позволяет обращаться к их свойствам и методам.

(1.23).toFixed(1); //"1.2"

"text".toUpperCase(); //"TEXT"

true.toString(); //"true"

При этом, конечно, значения примитивных типов объектами не являются.

Для организации доступа к «свойствам» значений примитивных типов JavaScript, при необходимости, создаёт объекты-обёртки, которые, после того, как они оказываются ненужными, уничтожаются. Процесс создания и уничтожения объектов-обёрток оптимизируется JS-движком.

Объектные обёртки есть у значений числового, строкового и логического типов. Объекты соответствующих типов представлены функциями-конструкторами Number, String, и Boolean.

Самое главное отличие объектов-оберток от объектов заключается в том, что у объектов-оберток все свойства и методы доступны только для чтения, в то время как у простых объектов вы можете менять значение свойств.

Работа с числами (обертка чисел)

Num. toFixed (precision)

Существует также специальный метод num.toFixed(precision), который округляет число num до точности precision и возвращает результат в виде строки:

var n = 12.34;

alert(n.toFixed(1)); // "12.3"

Округление идёт до ближайшего значения, аналогично Math.round:

var n = 12.36;

alert(n.toFixed(1)); // "12.4"

Итоговая строка, при необходимости, дополняется нулями до нужной точности:

var n = 12.34;

alert(n.toFixed(5)); // "12.34000", добавлены нули до 5 знаков после запятой

Если нам нужно именно число, то мы можем получить его, применив '+' к результату n.toFixed(..):

var n = 12.34;

alert(+n.toFixed(5)); // 12.34

Дополнительный материал по работе с числами и строками

Объект Math

Объект Math является встроенным объектом, хранящим в своих свойствах и методах различные математические константы и функции.

В отличие от других глобальных объектов, все свойства и методы объекта Math являются статическими. Вы ссылаетесь на константу π через Math.PI и вызываете функцию синуса через Math.sin(x), где x является аргументом метода.

Константы в JavaScript определены с полной точностью действительных чисел.

Свойства объекта Math

На самом деле свойств намного больше, тут я представил лишь наиболее востребованные:

· Math.E — число Эйлера или Непера, основание натуральных логарифмов, равное 2,718.

· Math.PI — отношение длины окружности круга к его диаметру, приблизительно равно 3,14159.

Методы объекта Math

Как и со свойствами объекта Math, методов намного больше, я представил наиболее востребованные:

Math.ceil(x) —возвращает наименьшее целое число, большее, либо равное указанному числу.

Math.floor(x) — возвращает наибольшее целое число, меньшее, либо равное указанному числу.

Math.max([x[, y[, …]]]) — возвращает наибольшее число из своих аргументов.

Math.min([x[, y[, …]]]) — возвращает наименьшее число из своих аргументов.

Math.pow(x, y) — основание в степени экспоненты, значение выражения основания экспонента.

Math.random() — возвращает псевдослучайное число в диапазоне от 0 до 1.

Math.round(x) — возвращает значение числа, округлённое до ближайшего целого.

Math.sqrt(x) — возвращает положительный квадратный корень числа.

Логическое преобразование

Преобразование к true/false происходит в логическом контексте, таком как if(…) или других подобных местах, и при применении логических операторов.

Все значения, которые интуитивно «пусты», становятся false. Их несколько: 0, пустая строка, null, undefined и NaN.

Остальное, в том числе и любые объекты – true.

Полная таблица преобразований:

Таблица логических преобразований

Значение Преобразуется в
undefined, null false
Числа Все true, кроме 0, NaN -- false.
Строки Все true, кроме пустой строки "" -- false
Объекты Всегда true

Для преобразования используется двойное логическое отрицание!!value или вызов Boolean(value).

Обратите внимание: строка "0" становится true


Поделиться с друзьями:

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.