Page 124 - 6105
P. 124

В JavaScript немає  «перевантаження» функцій. У деяких мовах програміст

               може створити дві функції з однаковим ім'ям, але різним набором аргументів, а


               при виклику інтерпретатор сам вибере потрібну:

                      function log (a) {

                        ...
                      }


                      function log (a, b, c) {
                        ...


                      }
                      log (a); // зголоситься перша функція

                      log (a, b, c); // зголоситься друга функція

                      Це називається «поліморфізмом функцій» або «перевантаженням функцій».

               В JavaScript «перевантаження функцій» відсутнє.

                      Може бути тільки одна функція з іменем log, яку можна викликати з будь-

               якими  аргументами,  а  вже  всередині  функції  можна  подивитися,  які  аргументи

               задано.  У  прикладі  вище  друге  оголошення  log  просто  перевизначає  перше

               оголошення.

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

               списку параметрів. Доступ до них здійснюється через «псевдо-масив» arguments.

                      Він містить список аргументів за номерами: arguments [0], arguments [1] ...,


               а також властивість length. Наприклад, виведемо список всіх аргументів:
                      function sayHi () {


                        for (var i = 0; i <arguments.length; i ++) {
                          alert ( "Привіт," + arguments [i]);


                        }
                      }

                      sayHi  (  "Вінні",  "П'ятачок");  //  'Привіт,  Вінні',

               'Привіт, П'ятачок'



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