Добрый день, JavaScript Developer-ы !
Читаю книгу Д. Рейсига - "
JavaScript. Профессиональные приемы программирования" [2008].
Остановился на
привилегированных методах, листинг 2.25 (
Пример динамически генерируемых методов при создании нового экземпляра объекта ).
Вот собственно код:
function User(properties) {
for (var i in properties) {
(function(){
this["get" + i] = function() {
return properties[i];
}
this["set" + i] = function(val) {
properties[i] = val;
}
})();
}
}
var user = new User({
name : "hat_tab",
age : 100500
});
alert(user.getname());
В результате, у объекта User нет такого метода getname(). Если сделать без "замыкания", то такой метод есть, правда значение его 100500.
Помогите разобраться где ошибка.