Page 103 - 6105
P. 103

name: "Таня",
                        age: 25,


                        size: {
                          top: 90,

                          middle: 60,

                          bottom: 90

                        }

                      }

                      alert (user.name) // "Таня"

                      alert (user.size.top) // 90

                      Тут значенням властивості size є об'єкт {top: 90, middle: 60, bottom: 90}.

                      Браузер  використовує  спеціальне  «компактне»  уявлення  об'єктів,  щоб

               заощадити пам'ять в тому випадку, коли однотипних об'єктів багато.

                      Наприклад, розглянемо такий об'єкт:

                      var user = {

                        name: "Vasya",

                        age: 25

                      };

                      Тут міститься інформація про властивості name і його рядкове значення, а

               також  про  властивості  age  і  його  чисельне  значення.  Уявімо,  що  таких  об'єктів

               багато.  Вийде,  що  інформація  про  імена  властивостей  name  і  age  дублюється  в

               кожному об'єкті. Щоб цього уникнути, браузер застосовує оптимізацію.

                      При створенні великої кількості об'єктів одного і того ж виду (з однаковими

               полями)  інтерпретатор  виносить  опис  полів  в  окрему  структуру.  А  сам  об'єкт

               залишається у вигляді безперервної області пам'яті з даними.

                      Наприклад, є багато об'єктів з полями name і age:

                      {Name: "Вася", age: 25}

                      {Name: "Петя", age: 22}



                                                                 102
   98   99   100   101   102   103   104   105   106   107   108