我是JS的新手。
我正在尝试定义变量的属性,但诀窍是我希望JS在定义另一个变量时定义一个新变量。
这不起作用:
var robber = {
health: 10,
halfHealth: this.health/2,
};
我希望robber.halfHealth
为5,但答案为NaN
。我猜它是这样做的,因为var robber
并没有真正定义计算halfHealth
的时间吗?
如果我以另一种方式使用它:
var robber = {
health: 10,
// halfHealth: this.health/2,
};
var robberHalfHealth = robber.health/2;
我不想拥有数百个变量,但想要所有与"强盗"相关的变量。住在{在一个房子里},所以说。
P.S。其中一种方法可能是添加定义halfHealth
和robber.init()
的函数,但是有更简单的解决方案吗?
答案 0 :(得分:1)
为什么不使用功能?
var robber = { health: 10, halfHealth: function(){return this.health/2;} }
robber.halfHealth(); // 5