J'essaye de créer un objet UserDon, et de tenter de générer les méthodes get et set par programmation (basé sur le livre Pro Javascript de John Resig page 37), et de le tester sur Firefox 3.5Création dynamique de la méthode get/set en javascript
Le problème est: dans la fonction UserDon, "this" fait référence à l'objet window au lieu de l'objet UserDon. Donc, après avoir appelé var userdon = new UserDon (...) j'ai créé des méthodes setname et getname sur l'objet window (également setage et getage).
Comment puis-je résoudre ce problème?
function UserDon(properties) {
for(var i in properties) {
(function(){
this[ "get" + i ] = function() {
return properties[i];
};
this[ "set" + i ] = function(val) {
properties[i] = val;
};
})();
}
}
var userdon = new UserDon({
name: "Bob",
age: 44
});
si cela est un exercice.Sinon, si vous n'effectuez aucune opération supplémentaire dans les getters/setters, il est à espérer que vous utiliserez simplement les propriétés publiques et que vous renoncerez à la surcharge de la méthode. :) – deceze