Работы по JavaScript. JavaScript с Ильей Кантором
Скачать 0.61 Mb.
|
Операторы сравнения и логические значения
В этом разделе мы познакомимся с операторами сравнения и с логическими значениями, которые такие операторы возвращают. Многие операторы сравнения знакомы нам со школы:
Логические значенияКак и другие операторы, сравнение возвращает значение. Это значение имеет специальный логический тип. Существует всего два логических значения:
Например: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
Логические значения можно использовать и напрямую, присваивать переменным, работать с ними как с любыми другими: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
Сравнение строкСтроки сравниваются побуквенно: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
Буквы сравниваются в алфавитном порядке. Какая буква в алфавите позже — та и больше. Кодировка Unicode Аналогом «алфавита» во внутреннем представлении строк служит кодировка, у каждого символа — свой номер (код). JavaScript использует кодировку Unicode. При этом сравниваются численные коды символов. В кодировке Unicode обычно код у строчной буквы больше, чем у прописной, поэтому: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
Для корректного сравнения символы должны быть в одинаковом регистре. Сравнение осуществляется как в телефонной книжке или в словаре. Сначала сравниваются первые буквы, потом вторые, и так далее, пока одна не будет больше другой. Иными словами, больше — та строка, которая в телефонной книге была бы на большей странице. Например:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
Такое сравнение называется лексикографическим. Обычно мы получаем значения от посетителя в виде строк. Например, prompt возвращает строку, которую ввел посетитель. Числа, полученные таким образом, в виде строк сравнивать нельзя, результат будет неверен. Например: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
В примере выше 2 оказалось больше 14, потому что строки сравниваются посимвольно, а первый символ '2' больше '1'. Правильно было бы преобразовать их к числу явным образом. Например, поставив перед ними +: показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
|