Читать «HTML5. Недостающее руководство» онлайн - страница 312

Мэтью Мак-Дональд

Firefox. Серьезные разработчики платформы Firefox используют модуль расшире-ния Firebug ( http://getfirebug.com/javascript ), который позволяет наблюдать за ис-полнением кода в любое время. Кроме этого, на сайте http://developer.mozilla.org/ en/Debugging_JavaScript можно ознакомиться с документацией от Mozilla по средствам отладки.

Google Chrome. Браузер Chrome имеет приличный встроенный отладчик. Обу-чающее пособие по его применению доступно по адресу http://code.google.com/ chrome/extensions/tut_debugging.html .

Opera. Браузер Opera имеет встроенный отладчик Dragonfly (см. описание по ад-ресу www.opera.com/dragonfly ), а по адресу http://tinyurl.com/39nv7w можно най-ти хороший обзор основных методов отладки.

Safari. Браузер Safari имеет мощный набор встроенных средств отладки, хотя най-ти документацию по ним, может быть, несколько проблематично. Для начала озна-комьтесь с технической статьей из библиотеки Safari Developer Library по адресу http://tinyurl.com/63om77c .

Помните, что не имеет значения, каким браузером и отладочными средствами поль-зоваться, чтобы исправить проблемы со страницей. Когда они исправлены, то исправ-лены для всех браузеров.

Условные переходы

Все условные переходы начинаются с условия : выражения, значение которого мо-жет быть или true (истина), или false (ложь). В зависимости от значения выраже-ния принимается решение, выполнять определенную часть кода или пропустить ее. Условия создаются с помощью операторов сравнения и логических операторов (табл. П2.2).

Таблица П2.2. Логические операторы

Далее приведен пример простого сравнения: myNumber < 100

Чтобы это сравнение превратить в условие, его надо использовать в операторе условного перехода if . Вот пример такого оператора: if (myNumber < 100) {

// (Этот код исполняется, если значение переменной myNumber // равно 20, и не исполняется, если оно равно 147.) }

Вообще, код, исполняющийся, когда условие истинно, не обязательно заключать в фи-гурные скобки, если только он не состоит из нескольких операторов. Но использова-ние этих скобок всегда делает код более понятным и помогает избежать возможных ошибок в случае нескольких операторов.

При проверке на равенство всегда используются два знака равенства , т. е. == . Один знак равенства является оператором присваивания и устанавливает значение пере-менной, а не выполняет требуемое нам сравнение: // Правильно:

if (myName == "Doe") {

// Неправильно:

if (myName = "Sarah") {

}

Чтобы оценить несколько условий, одно за другим, используется несколько блоков if . Но если среди нескольких условий нужно выбрать одно, игнорируя прочие, к оператору if добавляется ключевое слово else . Далее приведен пример исполь-зования оператора else :

if (myNumber < 100) {

// (Этот код исполняется, если значение переменной myNumber меньше 100.) }

else if (myNumber < 200) {

// (Этот код исполняется, если значение переменной myNumber меньше 200 , // но больше или равно 100.)