Введите ваш адрес почты


sdcvoy.ru
Понравился сайт? Поделись с друзьями!
Главная » Javascript » Metody-i-svojstva-v-javascript-chisla

Методы и свойства в JavaScript (числа)

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


Методы оказывают какое-либо воздействие на переменную, а свойства не оказывают. Но свойства объекта(переменной) можно менять отдельно.


Так вот в JavaScript существуют встроенные функции, которые в свою очередь и являются методами и свойствами. В этом уроке мы и постараемся их рассмотреть. Под переменными мы будем рассматривать числа и строки.

isFinite(n)

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

alert( isFinite(4) ); // выведет true
alert( isFinite(-Infinity) ); // выведет false
alert( isFinite(NaN) ); // выведет false

Но здесь надо понимать, что Infinity/-Infinity это числа.

parseInt и parseFloat — мягкое преобразование

Помните мы уже преобразовывали строку с помощью унарного плюса к числу:

alert( +"56" + 12); // выведет число 68

Но что делать если мы хотим преобразовать в число например вот такое выражение 72pt или выделить дробное число из такой строчки 34.67.56. Для этого придумали так называемое мягкое преобразование с использованием функций parseInt — для целых чисел и parseFloat — для дробных:

alert( parseInt("72pt") + 12); // выведет число 84
alert (parseFloat("34.67.56")); //выведет 34.67

Эти функции считывают числа по порядку, пока не вылезет ошибка, но и здесь есть свои подводные камни, например при преобразовании parseInt(«pt72») выведется значение NaN.

isNaN

Значение NaN (Not-a-Number) можно проверить с помощью функции isNaN, а делается это всё очень просто:

alert (isNaN("34.67.56")); // true
alert (isNaN(NaN + 4848)); // true
alert (isNaN(+"57")); // false

Проверяет число это или нет и возвращает логическое значение true/false. Вообще значение NaN обозначает, что операция не может быть завершена.

toString

Для преобразования в различные системы исчислений используют метод toString:

var n = 3453464;

alert( n.toString(2) ); // 1101001011001000011000

Здесь я думаю понятно, присвоили переменной число в 10-ой системе и с помощью функции toString вывели его же в 2-ой системе. Основание toString может быть от 2 до 36. Кстати вы можете задавать числа в 16-ой системе сразу:

alert( 0xc0 ); // выведет число 192

// и обратная задача 

var n = 192;

alert( n.toString(16) ); // выведет число с0

Округление чисел в JavaScript

В Javascript есть целых три функции округления: Math.floor, Math.ceil, Math.round округляют вниз, вверх и до ближайшего целого соответственно:

alert( Math.floor(5.7) );  // 5
alert( Math.ceil(4.1) );   // 5
alert( Math.round(3.5) );  // 4
alert( Math.round(4.49856848*1000)/1000); // 4.499

Многие наверное заметили, что последняя строчка делает округление дробного числа 3-его знака после запятой, таким способом можно округлять числа до нужного вам знака.

Метод toFixed(precision)

Этод метод также округляет число с точность до определенного знака, но выдаёт округлённое число в виде строки. А как перевести строчку в число вы уже знаете:

var n=7.934636;

alert ( n.toFixed(2) ); // выведет строчку 7.93
alert ( +n.toFixed(2) ); // выведет число 7.93 

Интересным является тот факт, что метод toFixed не является эквивалентным Math.round. Кроме тех методов и свойств, которые были описаны выше в JavaScript есть и другие функции, связанные с тригонометрией и вычислениями такие, как Math.asin(x), Math.sin(x), Math.sqrt(x) и т.п.

Метод Описание
Math.acos(x) Возвращает значение арккосинуса x в радианах
Math.asin(x) Возвращает значение арксинуса x в радианах
Math.atan(x) Возвращает значение арктангенса x в радианах
Math.atan2(y, x) Возвращает значение угла до точки (y, x)
Math.sin(x) Вычисляет значение синуса x в радианах
Math.cos(x) Вычисляет значение косинуса x в радианах
Math.tan(x) Вычисляет значение тангенса x в радианах
Math.sqrt(x) Вычисляет квадратный корень из числа x
Math.log(x) Возвращает натуральный логарифм x
Math.pow(x, n) Возводит число в степень
Math.abs(x) Возвращает абсолютное значение числа
Math.exp(x) Возводит экспоненту в степень
Math.max(a, b, c…) Возвращает наибольшее число из списка аргументов
Math.min(a, b, c…) Возвращает наименьшее число из списка аргументов
Math.random() Возвращает случайное число в интервале [0,1)


наверх