Переменные (часть 2)
На прошлом уроке мы затронули переменные, но сейчас я расскажу о них подробней.
Переменные можно объявлять и задавать им значения, но это далеко не всё, что можно делать с ними. Помимо всего прочего, их значения можно изменять и над переменными можно проводить различные действия.
! Над разными типами переменных можно проводить разные действия.
Арифметические действия над числами
Сложение
Сложение переменных проходит как простое сложение чисел:
1 + 2 = 3 эквивалентно 3 = 1 + 2
5 + x = 8 (если x = 3) эквивалентно 8 = 5 + x (если x = 3)
2 + 2 = y эквивалентно y = 2 + 2
То есть вместо полученного значения обработчик выдаст результат и приравняет его к переменной, точно также, как если бы мы задали ей значение уже посчитанного результата. Пример в коде:
var x = 1, y = 2, sum = x + y;
На данном участке мы задаём переменным x и y значения 1 и 2 и просим обработчик посчитать результат и задать полученное значение переменной sum. Другой пример:
var x = 3, sum = x + 5;
Вышеприведённый участок кода мало чем отличается от предыдущего за исключением того, что мы не задавали значение второй переменной, а сразу указали значение в подсчёте значения переменной sum. Следующий пример:
var sum = 2 + 2;
Здесь, я думаю, совсем всё просто, мы сразу прописываем две цифры, результатом суммы которых потом станет переменная sum.
Также в сложении переменных может участвовать переменная, будущем значением которой станет эта сумма. Пример:
var x = 2, y = 3;
x = x + y;
document.write(x);
! Метод document.write() выводит на экран заданное значение. Также можно вывести "undefined" (неопределенно), если указать в методе переменную, к которой не было присвоено никакое значение и NaN (не числовое значение), если было допущено нарушение в арифметических операциях (деление на 0 или квадратный корень из отрицательного числа, например)
Данный код выведет на экран "5" (2 + 3). Это потому что к новой переменной x было присвоено значение суммы старой переменной x и переменной y. Чтобы не использовать запись x = x + y было придумано упрощение: x += y. Эти части кода идентичны. Также была значительно упрощена следующая запись: x = x + 1. Подобный участок кода используется чаще других, поэтому ему придумали укороченную запись: x++. Эта запись называется инкремент или увеличение переменной на единицу.
Отрицание
Разность переменных и чисел в JS подобны за исключением назначения операции и заменой инкремента на декремент: x-- идентично x = x - 1 и x -= 1 (у разности своя упрощённая запись при использовании той же переменной, операция с которой будет произведена, обратите внимание).
Умножение и деление
Операции умножения и деления отличаются только укороченной записью: x *= 3 (идентично x = x * 3) и x /= 5 (идентично x = x / 5).
Остаток от деления
Остаток от деления - это сколько останется после деления числа нацело на делитель. Обозначается символом процента "%". Пример:
Обычная запись Запись в JS Ответ (ОЗ | JS)
10 / 3 10 / 3 3.(3) | 3.3333333333333335
10 деление на 3 с остатком 10 % 3 3 (остаток 1) | 1
Также остаток от деления имеет упрощённую запись для того же случая, что и в примерах в частях "Сложение", "Вычитание", "Умножение и деление": x %= 4.
! Не знаю, с чем это связано, но иногда JS выдаёт не совсем точное значение при округлении периодов. В примере, приведённом выше Вы можете увидеть такой вывод: 3.333333333333335, хотя должно быть 3.3333333333333334 (округление при цифре меньше 5 в разряде числа происходит в меньшую сторону, но JS округляет в большую, а здесь ещё и прибавляет единицу).
Круглые скобки
Как в математике так и в программировании используются скобочки для выделения действия, что должно быть выполнено в первую очередь. Пример:
2 + 2 * (2 + 2) = 10.
Скобочки необходимо закрывать и открывать, если Вы оставите лишнюю скобку, то обработчик выдаст Вам ошибку.
Глобальный объект Math
Зарезервированный глобальный объект Math включает в себя множество математических функций и констант. Полный список Вы можете найти по ссылке http://javascript.ru/Math (не реклама!), а здесь мы разберём лишь некоторые из них.
Math.PI - возвращает число Пи (константа = 3.141592...).
Math.sin(x) - возвращает синус x в радианах.
Math.abs(x) - возвращает модуль x.
Math.pow(x, y) - возвращает x в степени y.
Math.sqrt(x) - возвращает квадратный корень числа x.
Math.random() -возвращает случайное число (на андроид устройствах выдаст одинаковую последовательность чисел!)
! Вместо x и y можно использовать любые числа и переменные с числовыми значениями.
Это самые используемые методы и свойства в программировании, которые Вам точно пригодятся.
Практика
Решите задачу:
Напишите программу, используя только две переменные, которые менялись бы значениями. Придумайте несколько решений. В вводе используются только целые числа.
(Для ввода значений используйте следующую запись для вызова окна диалога:
var x = Number(prompt("Введите целое число")); тогда Вы сможете сами ввести желаемое значение для переменной). Удачного программирования!