Page 127 - 6105
P. 127

};
                          var student = {


                            university: 'My university'
                          };

                          // додати до vasya властивості з user і student

                          copy (vasya, user, student);

                          alert (vasya.isAdmin); // false

                          alert (vasya.university); // My university

                      2. Для створення копії об'єкта user:

                      // скопіює все властивості в порожній об'єкт

                      var userClone = copy ({}, user);

                      Такий  «клон»  об'єкта  може  стати  в  нагоді  тоді,  коли  є  потреба  змінювати

               властивості об’єкта, при цьому не чіпаючи вихідний об'єкт user.

                      В  прикладі  розглянутому  нижче,  скопійовано  тільки  властивості  першого

               рівня:

                      function copy () {

                        var dst = arguments [0];

                        for (var i = 1; i <arguments.length; i ++) {

                          var arg = arguments [i];

                          for (var key in arg) {

                            dst [key] = arg [key];

                          }

                        }

                        return dst;

                      }

                      Тут перший аргумент copy – це об'єкт, в який потрібно копіювати, його ім’я

               dst.  Для  спрощення  доступу  до  нього  можна  вказати  ім’я  прямо  в  оголошенні

               функції:



                                                                 126
   122   123   124   125   126   127   128   129   130   131   132