l'objet suivant dans mon programmecomment boucle à i ont de propriétés de l'objet créé par Object.defineProperty
function Player(id) {
this.id = id;
this.healthid = this.id + "health";
this.displayText = "blah blah";
this.inFight = false;
this.currentLocation = 0;
this.xp = 0;
this.level = 1;
}
var player = new Player('player');
player.currentHealth = player.health;
et j'imprimer les noms de propriété comme si
function displayStats() {
var statsHtml = "";
for (var prop in player) {
statsHtml += "<p id = 'displayPlayerHealth'>" + prop + "</p>";
}
$('.stats').html(statsHtml);
console.log(statsHtml);
}
displayStats();
qui fonctionne très bien, mais l'autre de la propriété que je déclare comme si
Object.defineProperty(player,"health",{
set: function() {
return 10 + (this.level * 15);
},
get: function() {
return 10 + (this.level * 15);
}
});
Object.defineProperty(player,"strength",{
set: function() {
return (this.level * 5);
},
get: function() {
return (this.level * 5);
}
});
Object.defineProperty(player,"hitRating",{
set: function() {
return 3 + (this.level);
},
get: function() {
return 3 + (this.level);
}
});
donT imprimer fiddle here.
maintenant je mettre dans ce code pour vous assurer qu'ils sont définis
console.log(player.hitRating);
qui me donne 4
, exactement ce que je pense. Alors comment faire une boucle sur les propriétés d'un objet créées avec Object.defineProperty
?
d'autres commentaires et de l'aide sur mon code sont également appréciés.
Tout moyen de le faire? – toddmo