Внимание! На этой странице вы найдете материал урока из архивного курса по JavaScript. Курс был написан в 2015 и по-прежнему актуален для начинающих веб-разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные роадмапы.
Полный список уроков доступен по тегу Архивный курс по JavaScript и на странице первого урока.
Вы знакомы с арифметикой? Умеете складывать и вычитать числа? JavaScript тоже умеет складывать и вычитать. В JavaScript есть такие операторы: сложение +, вычитание -, деление /, умножение *, деление с возвратом остатка %.
var one = 121;
var two = 13;
alert(one + two);
alert(one - two);
alert(one * two);
alert(one / two);
alert(one % two);
Усложним пример 1
var answer = ((121 - 12) * 103) + 200;
alert(answer);
Усложним пример 2
var PI = 3.14;
var answer = ((121 - 12) * 103) + PI;
alert(answer);
И третий пример усложним
var PI = 3.14;
var answer = ((121 - 12) * 103) + PI;
var answerEnd = (2 * answer * PI) + (-100);
alert(answerEnd);
И даже так можно сделать
var answer = 101 + (-(-100));
alert(answer);
Но это ещё не всё возможности JavaScript. Для этого есть стандартный объект Math с множеством свойств (свойства и есть операции, в данном контексте).
Math.pow(2, 53) /* -> 2 в степени 53 */
Math.round(0.6) /* -> 1.0 - округление до ближайшего целого */
Math.ceil(0.6) /* -> 1.0 - округление вверх */
Math.floor(0.6) /* -> 0.0 - округление вниз */
Math.abs(-5) /* -> 5 - модуль, абсолютное значение */
Math.max(x, y, z) /* -> Возвращает наибольший аргумент */
Math.min(x, y, z) /* -> Возвращает наименьший аргумент */
Math.random(); /* -> Где число на выходи больше 0, но меньше 1 */
Math.PI /* -> Число Пи */
Math.E /* -> Основание натурального логарифма */
Math.sqrt(3) /* -> Корень квадратный из 3 */
Math.pow(3, 1/3) /* -> Корень кубический из 3 */
Math.sin(0) /* -> Тригонометрия: имеются так же Math.cos, Math.atan и другие */
Math.log(10) /* -> Натуральный логарифм 10 */
Math.log(100) / Math.LN10 /* -> Логарифм 100 по основанию 10 */
Math.log(512) / Math.LN2 /* -> Логарифм 512 по основанию 2 */
Math.exp(3) /* -> Math.E в кубе */
Как использовать объект Math?
/* Первый пример */
var twoInPow = Math.pow(2, 53);
alert(twoInPow);
/* Второй пример */
var valueRaund = 0.1312;
var answerRaunt = Math.round(valueRaund);
alert(answerRaunt);
/* Третий пример */
var valueRaund = 0.1312;
alert(Math.round(valueRaund));
/* Четвертый пример: поиск наибольшего из трех чисел */
var a = 12, b = 11, c = 10;
alert(Math.max(a, b, c));
В случае выхода из диапазона, потери значащих разрядов или деления на ноль, JavaScript не выдает ошибку. Если результат будет слишком большой и выйдет из диапазона, то будет возвращено специальное значение «бесконечность», выглядит оно так «Infinity».
Потеря значащих разрядов: результат арифметической операции оказывается очень близким к нулю. Если все же потеря была, то будет возвращен 0 (ноль).
Глобальная переменная NaN означает «не число». Есть одна особенность у этой переменной, операция проверки на равенство (==) всегда возвращает отрицательный результат и даже если его сравнивать с самим собой.
/* Так писать нельзя */
if (x == NaN) { ... }
Чтобы определить, является ли значение переменной x значением NaN, нужно использовать конструкцию, которая ниже. Эта проверка будет иметь значение true только тогда, когда x будет равен NaN
/* Так можно */
if (x != x) { ... }
Дополнение: оформление кода
Допустим вам нужно вывести два числа 12 и 16. Вероятно вы сделаете так:
var one = 12, two = 16;
document.write(one);
document.write(two);
А в ответ получите 1216, то есть пробела между ними не будет. Встает вопрос: Как добавить пробел?
/* Первый способ решения */
var one = 12, two = 16;
document.write(one + " ");
document.write(two);
/* Второй, более компактный */
var one = 12, two = 16;
document.write(one + " " + two);
Как видите, нужно просто склеить переменную с пробелом (пробел между кавычек). Склеить строки, значит поставить между ними знак плюс (+)
document.write("Строка 1" + "Строка 2");
document.write("Строка 1" + " " + "Строка 2");
В следующем уроке поработаем с текстом.
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу JavaScript.
