Page 125 - 6105
P. 125

Всі параметри знаходяться в arguments, навіть якщо вони є в списку. Код

               вище спрацював би також, якби функція була оголошена як sayHi (a, b, c).


                      У  старому  стандарті  JavaScript  псевдо-масив  arguments  і  змінні-параметри
               посилаються  на  одні  і  ті  ж  значення.  В  результаті  arguments  впливають  на


               параметри і навпаки. Наприклад:

                      function f (x) {

                        arguments [0] = 5; // змінює змінну x

                        alert (x); // 5

                      }
                      f (1);


                      Навпаки:
                      function f (x) {

                        x = 5;

                        alert (arguments [0]); // 5, оновлений x

                      }

                      f (1);

                      У сучасній редакції стандарту аргументи відділені від локальних змінних:

                      function f (x) {

                        "Use strict"; // для браузерів з підтримкою суворого

               режиму

                        arguments [0] = 5;

                        alert  (x);  //  не  5,  а  1!  Змінна  "відв'язана"  від

               arguments

                      }

                      f (1);

                      Не можна застосувати методи Array до arguments:

                      function sayHi () {






                                                                 124
   120   121   122   123   124   125   126   127   128   129   130