我的javascript对象怎么了?

时间:2015-07-16 16:12:30

标签: javascript string object integer

我有一个javascript"对象。"我使用word对象使事情变得更容易。这是: var character = {     名称:"",     myClass:"",     健康:20,     maxHealth:20, }; 假设我有一个游戏,并且游戏有打斗,并且在每次战斗之后你获得健康点。这完成了: character.maxHealth + = 1; 但是......当我试图这样做时,我最终得到201作为maxHealth或2032或203232或者我想添加到最大健康状态的任何数字只是添加,就好像它是一个字符串。通过我的眼睛看起来像一个整数给我,但我必须弄错。如果有人能帮助我,我将非常感激。这是我所拥有的一个例子。实际的代码是: var character = { 名称:"", myClass:"", 健康:20, maxHealth:20, 耐力:10, maxStamina:10, 法力:5, maxMana:5, physStrength:3, minAttack:0, mentStrength:3, physDefense:3, 防守:3, exp:0, punch:function(){   toggleAttackButtons(0);   this.minAttack = this.physStrength / 3;   var damage = Math.floor(Math.random()* this.physStrength)+ this.minAttack;   addString("你打了一拳,做了#34; +伤害+"伤害。");   myEnemy.health - =伤害;   updateStats();   的setTimeout(函数(){       myEnemy.attack();       toggleAttackButtons(1);       updateStats();       },1000); }, kick:function(){   toggleAttackButtons(0);   this.minAttack = this.physStrength / 3;   var damage = Math.floor(Math.random()* this.physStrength)+ this.minAttack;   addString("你踢了,做了#34; +伤害+"伤害。");   myEnemy.health - =伤害   updateStats();   的setTimeout(函数(){       myEnemy.attack();       toggleAttackButtons(1);       updateStats();       },1000); }, }; 这就是我增加数字的地方: var updateStats = function(){   document.getElementById(" charHealth")。innerHTML =" Health:" + character.health +" /" + character.maxHealth;   document.getElementById(" enemHealth")。innerHTML ="健康:" + myEnemy.health +" /" + myEnemy.maxHealth;   if(myEnemy.health< = 0){     myEnemy.health = 0;     character.maxHealth + = 1;     removeFightScreen(1);   }   if(character.health< = 0){     removeFightScreen(2);   } }; 我理解这个对象很乱我计划将来重写它以提高效率。我现在正在粗暴对待它。

1 个答案:

答案 0 :(得分:0)

我找到了答案。我很抱歉我缺少代码证据,但是它包含cookie,所以当我使用健康和maxHealth等字符统计信息编写cookie时,它们最终被转换为字符串以适应cookie。因此我需要将它们转换回整数。谢谢你们的帮助。下次我将添加所有代码,我只觉得存在几百行代码,我不想通过它。