Page 96 - 6105
P. 96

Зокрема, 'а' (код 1072)> 'Я' (код тисячі сімдесят одна).

                      Те ж саме відбувається і в англійському алфавіті, там 'a'> 'Z'.


                      Ряд  букв,  наприклад  е,  знаходяться  поза  основним  алфавітом.  Зокрема,
               маленька літера е має код, більший ніж я, тому 'е' (код 1105)> 'я' (код 1103).


                      До речі, велика буква Е розташовується в Unicode до А, тому 'Е' (код 1025) <
               'А'  (код  1  040).  Буква  е  не  унікальна,  крапки  над  буквою  використовуються  і  в


               інших мовах, приводячи до того ж результату.

                      Наприклад, при роботі з німецькими назвами:

                      alert ( "ö"> "z"); // true
                      Порівняння рядків працює лексикографічно, інакше кажучи, посимвольно.


                      Порівняння рядків s1 і s2 обробляється за наступним алгоритмом:

                      Порівнюються  перші  символи:  s1  [0]  і  s2  [0].  Якщо  вони  різні,  то

               порівнюємо їх і, залежно від результату їх порівняння, повертається true або false.

               Якщо  ж  вони  однакові,  то  ...  порівнюються  другі  символи  s1  [1]  і  s2  [1].  Потім

               треті s1 [2] і s2 [2] і так далі, поки символи не будуть нарешті різними, і тоді який

               символ  більше  –  той  рядок  і  більший.  Якщо  ж  в  будь-якому  рядку  закінчилися

               символи, то вважаємо, що він менший, а якщо закінчилися в обох – вони рівні.

                      Специфікація  мови  визначає  цей  алгоритм  більш  детально.  Якщо  ж

               говорити простими словами,  зміст алгоритму  точно відповідає порядку, за яким

               імена заносяться в орфографічний словник.

                      "Вася">  "Ваня"  //  true,  тому  що  початкові  символи

               збігаються, а потім 'с'> 'н'

                      "Дома"> "До" // true, тому що початок збігається, але в

               1-му рядку більше символів

                      Буває,  що  числа  приходять  в  скрипт  у  вигляді  рядків,  наприклад  як

               результат prompt. В цьому випадку результат їх порівняння буде невірним:

                      alert  (  "2">  "14");  //  true,  так  як  це  рядки,  і  для

               перших символів вірно "2"> "1"


                                                                95
   91   92   93   94   95   96   97   98   99   100   101