|
Профессиональный веб-дизайн: Введение в современные веб-технологии "3. Создание внешней таблицы. Теперь создайте таблицу с двумя строками. Во второй строке создайте две ячейки - в первую переместите таблицу цифр, а во вторую - таблицу знаков." Как в ячейку <td> поместить таблицу? Таблица же сама состоит из ячеек. Исходя из задания следует, что <td> может быть родителем для <td>, но это противоречит правилам HTML? |
Сценарии Javascript
Операторы и управляющие структуры
Javascript поддерживает арифметические, логические и битовые операторы и ряд вспомогательных операторов.
Арифметические операторы
Операции сложения (+), вычитания (-), умножения (*) и деления (/) выполняются в общепринятой манере.
x = ((1 + 2)*3 – 4)/5; // 1
Оператор деления с остатком (%) делит первое число на второе и возвращает остаток
a = 9 % 4; // 1
b = 19 % 6.7; // 5.6В Javascript нет операции целочисленного деления. Чтобы получить целое частное, следует отсечь десятичные знаки.
dividend = 13; // делимое
divisor = 5; // делитель
quotient = parseInt(dividend / divisor); // частное (2)
reminder = dividend % divisor; // остаток (3)Оператор плюс (+) требует некоторого дополнительного внимания. Помимо арифметического сложения этот оператор выполняет также конкатенацию (строковое слияние). Результат может иногда оказаться неожиданным (для начинающего разработчика).
a = 1;
b = '2';
c = a + b; // 12Строковое слияние происходит всегда, когда хотя бы один из операндов – строка. Остальные арифметические операторы пытаются сначала преобразовать строку в число и только в случае неуспеха возвращают ошибку NaN (Not a Number).
Арифметические операторы могут быть объединены с оператором присваивания (=), что является удобной сокращенной записью операций.
a += 3; // эквивалентно a = a + 3
b /= 2; // b = b / 2
c = 'Hello';
c += ' world!'; // Hello worldЕсть также три одноместных оператора: смены знака (-), инкремента (++) и декремента (--).
x = -x; // смена знака
x++; // эквивалентно x += 1 или x = x + 1
--x; // эквивалентно x -= 1 или x = x – 1Операторы инкремента и декремента могут иметь префиксную ( ++x ) и постфиксную ( x++ ) формы. В префиксной форме переменная сначала изменяется, затем используется, в постфиксной сначала используется, затем изменяется.
var a, b, c, d;
a = b = 2;
// так можно, поскольку оператор присваивания возвращает значение
c = ++a; // 3
d = b++; // 2Логические операторы
Операторы сравнения производят сравнение числовых или строковых операндов и возвращают логическое значение. При сравнении строки рассматриваются как цепочки 16-битных символов. Следует иметь в виду, что в таблицах символов заглавные буквы идут впереди строчных, таким образом "Я" оказывается меньше "автор". Для правильного алфавитного сравнения строки следует привести к верхнему или нижнему регистру.
Операторы > (больше), < (меньше), >= (больше или равно), <= (меньше или равно):
- Пытаются привести оба операнда к числам
- Если оба операнда – строки, выполняют строковое сравнение
- Если любой из операндов имеет значение NaN (Not a Number), возвращают false (ложь)

-
<
< любое число -
>
> любое число
Операторы == (равно), != (не равно):
- Если типы данных различны, пытаются привести их к строке, числу или логическому типу
- NaN != NaN
- -0 == +0
- null == null, null == undefined
- 1 == '1', 1 == true, 0 == false, true != 'true'
Операторы сравнения на идентичность ( === ) и неидентичность ( !== ). Для идентичности операнды должны быть одного типа и указывать на один объект.
Логическое отрицание ( !) меняет истину на ложь и наоборот.
Логическое И ( && ) возвращает истину, только когда оба операнда истинны.
Логическое ИЛИ ( || )возвращает истину, только когда хотя бы один из операндов истина.
"Тройной" условный оператор позволяет сократить запись при присваивании значения по условию:
var x = 3;
result = x % 2 == 0 ? "четное" : "нечетное";
//эквивалентно
if (x % 2 == 0)
result = "четное";
else
result = "нечетное";
