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