|
Дэвид Флэнаган
Книга конечно очень хорошая и качественная. Но иногда встречаются просто глупые опечатки. Тестируешь код а потом ломаешь голову почему это не работает.
Например 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, время: 20:59. |
|