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