Javascript 创建两个属性相互重叠的新变量的输出?
我一直在尝试制作一个非常简单和基本的游戏来提高我的JavaScript技能。但是,我一直在尝试使用“比率”来显示对象的运行状况时遇到问题。下面是一个类似的代码,因为原始代码太长:Javascript 创建两个属性相互重叠的新变量的输出?,javascript,variables,properties,Javascript,Variables,Properties,我一直在尝试制作一个非常简单和基本的游戏来提高我的JavaScript技能。但是,我一直在尝试使用“比率”来显示对象的运行状况时遇到问题。下面是一个类似的代码,因为原始代码太长: function Person(health) { this.initialHealth = health; this.lostHealth = health; } var bob = new Person(100); var enemy = new Person(100); var bobAtta
function Person(health) {
this.initialHealth = health;
this.lostHealth = health;
}
var bob = new Person(100);
var enemy = new Person(100);
var bobAttack = function() {
enemy.lostHealth = enemy.lostHealth - 50;
};
var enemyHealth = enemy.lostHealth + '/' + enemy.initialHealth;
bobAttack();
console.log(enemyHealth);
输出是:
100/100
,而我希望它是例如50/100
您可能期望“lazy”求值,但您立即得到表达式的值。也就是说,表达式var-enemyHealth=foreign.lostHealth+/'+foreign.initialHealth
在更改foreign.lostHealth
之前,即在调用函数bobAttack()
之前,会进行完全计算。如果您希望延迟评估,则可以使用:
var enemyHealth = function() {
return enemy.lostHealth + '/' + enemy.initialHealth;
}
bobAttack();
console.log(enemyHealth());
哦,我只是想澄清一下,
return
语句在调用函数时会计算'x',但是如果没有return语句,它就已经被计算了?我不太明白这个问题。。。调用函数时,将计算返回值。。return语句必须存在,如果希望函数返回结果,则不能忽略它。