Сборка от 17 марта 2017 г



Download 9,9 Mb.
bet29/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   25   26   27   28   29   30   31   32   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Сравнение строк


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


alert( 'Б' > 'А' ); // true



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


Иными словами, больше – та строка, которая в телефонной книге была бы на большей странице. Например:

  • Если первая буква первой строки больше – значит первая строка больше, независимо от остальных символов:

alert( 'Банан' > 'Аят' );





  • Если одинаковы – сравнение идёт дальше. Здесь оно дойдёт до третьей буквы:

alert( 'Вася' > 'Ваня' ); // true, т.к. 'с' > 'н'





  • При этом любая буква больше отсутствия буквы:

alert( 'Привет' > 'Прив' ); // true, так как 'е' больше чем "ничего".




Такое сравнение называется лексикографическим.



Сравнение разных типов


При сравнении значений разных типов, используется числовое преобразование. Оно применяется к обоим значениям. Например:


alert( '2' > 1 ); // true, сравнивается как 2 > 1
alert( '01' == 1 ); // true, сравнивается как 1 == 1 alert( false == 0 ); // true, false становится числом 0
alert( true == 1 ); // true, так как true становится числом 1.

Тема преобразований типов будет продолжена далее, в главе Преобразование типов для примитивов.




Строгое равенство


В обычном операторе == есть «проблема» – он не может отличить 0 от false :


alert( 0 == false ); // true


Та же ситуация с пустой строкой:


alert( '' == false ); // true


Это естественное следствие того, что операнды разных типов преобразовались к числу. Пустая строка, как и false , при преобразовании к числу дают


0 .

Что же делать, если всё же нужно отличить 0 от false ?




Для проверки равенства без преобразования типов используются операторы строгого равенства === (тройное равно) и !== .

Если тип разный, то они всегда возвращают false :


alert( 0 === false ); // false, т.к. типы различны


Строгое сравнение предпочтительно, если мы хотим быть уверены, что «сюрпризов» не будет.





Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish