Page 94 - 6105
        P. 94
     Від’ємні аргументи інтерпретуються як рівні нулю. Занадто великі значення
               усікаються до довжини рядка:
                          alert  (  "testme"  .substring  (-2));  //  "testme",  -2
               стає 0
                      Крім  того,  якщо  start  >  end,  то  аргументи  міняються  місцями,  тобто
               повертається ділянка рядка між start і end:
                      alert ( "testme" .substring (4, -1)); // "test"
                      // -1 стає 0 -> отримали substring (4, 0)
                      //  4>  0,  так  що  аргументи  міняються  місцями  ->
               substring (0, 4) = "test"
                      При використанні Slice від’ємні значення відраховуються від кінця рядка:
                      alert ( "testme" .slice (-2)); // "me", від 2 позиції з
               кінця
                      alert  (  "testme"  .slice  (1,  -1));  //  "estm",  від  1
               позиції до першої з кінця.
                      Це  набагато  зручніше,  ніж  дивна  логіка  substring.  Від’ємне  значення
               першого параметра підтримується в substr у всіх браузерах, крім IE8-.
                      Якщо  вибирати  з  цих  трьох  методів  один,  для  використання  в  більшості
               ситуацій – то це буде slice: він і від’ємні аргументи підтримує, і працює найбільш
               очевидно.
                      7.4. Кодування Юнікод
                      Як ми знаємо, символи порівнюються в алфавітному порядку 'А' < 'Б' < 'В'
               <... < 'Я'. Але є кілька виключень.
                         Наприклад, буква 'а' більша від літери 'Я'. Буква 'е' знаходиться в алфавіті
               між е і ж: абвгдеёжз і теж 'е' більше 'я'.
                      alert ( 'а'> 'Я'); // true
                      alert ( 'е'> 'я'); // true
                                                                93
     	
