Присваивание с операцией
Помимо обычного оператора присваивания (=) JavaScript поддерживает несколько других операторов-сокращений, объединяющих присваивание с некоторой другой операцией. Например, оператор += выполняет сложение и присваивание.
Следующие выражения эквивалентны:
total += sales_tax
total = total + sales_tax
Из подобных ему операторов можно назвать -=, *=, &= и %=. Операторы присваивания с операцией перечислены в табл. 4.
Таблица 4 - Дополнительные операторы присвоения
Оператор | Пример выражение | Эквивалентное |
+= -= *= /= %= | X+=Y X-=Y X *=Y X/=Y X%=Y | X = X + Y X = X - Y X = X * Y X = X / Y X = X % Y |
Условный оператор (?:)
Условный оператор – это единственный тернарный оператор (с тремя операндами) в JavaScript и иногда он так и называется – «тернарный оператор». Этот оператор обычно записывается как ?:, хотя в текстах программ он выглядит по-другому. Он имеет три операнда, первый идет перед ?, второй – между ? и :, третий –
после :. Используется он следующим образом:
x > 0 ? x*y : -x*y
Первый операнд условного оператора должен быть логическим значением (или преобразовываться в логическое значение) – обычно это результат выражения сравнения. Второй и третий операнды могут быть любыми значениями. Значение, возвращаемое условным оператором, зависит от логического значения первого операнда. Если этот операнд равен true, то условное выражение принимает значение второго операнда. Если первый операнд равен false, то условное выражение принимает значение третьего операнда.
Тот же результат можно получить с помощью инструкции if, но оператор ?: часто оказывается удобным сокращением. Вот типичный пример, в котором проверяется, определена ли переменная, и если да, то берется ее значение, а если нет, берется значение по умолчанию:
greeting = "hello " + (username != null ? username : "there");
Эта запись эквивалентна следующей конструкции if, но более компактна:
greeting = "hello ";
if (username != null)
greeting += username;
else
greeting += "there";
Дата добавления: 2015-08-01; просмотров: 557;