|
Дэвид Флэнаган
Книга конечно очень хорошая и качественная. Но иногда встречаются просто глупые опечатки. Тестируешь код а потом ломаешь голову почему это не работает.
Например
switch(n) {
case 1: // Выполняется, если n == 1
// Исполняем блок кода 1.
break; // Здесь останавливаемся
case 2: // Выполняется, если n == 2
// Исполняем блок кода 2.
break; // Здесь останавливаемся
case 3: // Выполняется, если n == 3
// Исполняем блок кода 3.
break; // Здесь останавливаемся
default: // Если все остальное не подходит...
// Исполняем блок кода 4.
break; // Здесь останавливаемся
}
Вот пример работы switch из книги. Однако! Блоки кода выполняются не если n==1(2,3 нужное подчеркнуть) а если n===1(2,3); Или вот еще break: имя_метки; Так описан синтаксис break с именем метки. Однако двоеточия там быть не должно. Почитал соседние топики. Абсолютно глупая фраза. Толи это ошибка перевода и он имел ввиду что-то другое то ли я ни чего не понимаю Цитата:
|
Кстати я пообещал себе купить бумажный вариант книги как только сделаю первый сайт на заказ:D
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
{ key: value }
, а под массивом [val1,val2,val3] или var[int index] = val А так, как в js объектами являются еще и Date, RegExp, Function, то автор пытается не запутать читателя, который возможно пришел из языка в котором объекты это объекты а массивы это массивы, а ассоциативные массивы это ассоциативные массивы, а не объекты. |
Цитата:
|
Наверное ты уже разобрался, но все же напишу, не надо делать ===
просто можно в кавычки значения поставить.
switch(n) {
case '1': // Выполняется, если n == 1
// Исполняем блок кода 1.
break; // Здесь останавливаемся
case '2': // Выполняется, если n == 2
// Исполняем блок кода 2.
break; // Здесь останавливаемся
case '3': // Выполняется, если n == 3
// Исполняем блок кода 3.
break; // Здесь останавливаемся
default: // Если все остальное не подходит...
// Исполняем блок кода 4.
break; // Здесь останавливаемся
}
А вообще мне Давид Флэнаган нравится, но нужно такое усилие, чтобы это читать, примеры не очень я бы сказал, впечатление такое, что он просто спешил, и не успевал, нормальное придумывать. Хотя если учесть какие другие книги, то это просто супер. |
mycoding,
Что-то я не понял вашу мысль.
var n = 1;
switch(n) {
case '1': alert(1); break;
case '2': alert(2); break;
default: alert("def");
}
И что же выдаст скрипт? А вы говорите "Выполняется, если n == 1" |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
var obj = new String('');
false===obj ? alert('false') : alert('true'); // true
str = '';
false===str ? alert('false') : alert('true'); // true
По поводу ошибка не ошибка. 2 это цифра и тип у неё number, n==2 правильно. |
| Часовой пояс GMT +3, время: 14:50. |
|