Главная страница

Работы по JavaScript. JavaScript с Ильей Кантором


Скачать 0.61 Mb.
НазваниеJavaScript с Ильей Кантором
АнкорРаботы по JavaScript.docx
Дата03.09.2018
Размер0.61 Mb.
Формат файлаdocx
Имя файлаРаботы по JavaScript.docx
ТипДокументы
#24011
страница6 из 9
1   2   3   4   5   6   7   8   9

Итого


  • В JavaScript есть логические значения true (истина) и false (ложь). Операторы сравнения возвращают их.

  • Строки сравниваются побуквенно.

  • Значения разных типов приводятся к числу при сравнении, за исключением строгого равенства === (!==).

  • Значения null и undefined равны == друг другу и не равны ничему другому. В других сравнениях (с участием >,<) их лучше не использовать, так как они ведут себя не как 0.


Условные операторы: if, '?'


  1. Оператор if

  2. Преобразование к логическому типу

  3. Неверное условие, else

  4. Несколько условий, else if

  5. Оператор вопросительный знак '?'

  6. Несколько операторов '?'

  7. Нетрадиционное использование '?'

Иногда, в зависимости от условия, нужно выполнить различные действия. Для этого используется оператор if.

Например:

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

   

1

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');

2

  




3

if (year != 2011) alert('А вот и неправильно!');

Оператор if


Оператор if («если») получает условие, в примере выше это year != 2011. Он вычисляет его, и если результат — true, то выполняет команду.

Если нужно выполнить более одной команды — они оформляются блоком кода в фигурных скобках:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

1

if (year != 2011) {

2

  alert('А вот..');




3

  alert('..и неправильно!');

4

}

Рекомендуется использовать фигурные скобки всегда, даже когда команда одна. Это улучшает читаемость кода.

Преобразование к логическому типу


Оператор if (...) вычисляет и преобразует выражение в скобках к логическому типу.

В логическом контексте число 0, пустая строка "", null и undefined, а также NaN являются false, остальные значения — true.

Например, такое условие никогда не выполнится:

if (0) { // 0 преобразуется к false

  ...




}

… А такое — выполнится всегда:

if (1) { // 1 преобразуется к true

  ...




}

Вычисление условия в проверке if (year != 2011) может быть вынесено в отдельную переменную:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

1

var cond = (year != 2011);  // true/false

2

  




3

if (cond) {

4

  ...




5

}

Важность: 5

Выведется ли alert?

if ("0") {

  alert('Привет');




}

Решение

Решение

Да, выведется, т.к. внутри if стоит строка "0".

Любая строка, кроме пустой (а здесь она не пустая), в логическом контексте является true.

Можно запустить и проверить:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

   

1

if ("0") {

2

  alert('Привет');




3

}

[Открыть задачу в новом окне]
1   2   3   4   5   6   7   8   9


написать администратору сайта