我正在尝试设置一个 javascript 对象,其中一个项目是函数。我正在做一些自我参考,但它不起作用。
var onTimePoints = function($a, $b, $c, $lifeotr){
$var1 = ($b - $a) / $c;
$var2 = ($lifeotr - $a) / $var1;
if($var2>$c)
{
$var2 = $c;
}
if($var2<0)
{
$var2 = 0;
}
$var2 = Math.round($var2);
return $var2;
}
var lifeData ={
min: 25000,
max: 65000,
otr: 56426,
maxPoints:100,
otp: onTimePoints(25000, 65000, 100, 56426),
test: function(){
alert(this.min);
}
}
当我这样做时conosle.log(lifeData.otp)
,它会起作用。
this.min
当我用,等替换硬编码数字时this.max
......它不起作用。
这是一个不起作用的示例:
var lifeData ={
min: 25000,
max: 65000,
otr: 56426,
maxPoints:100,
otp: onTimePoints(this.min, this.max, this.maxPoints, this.otr),
test: function(){
alert(this.min);
}
}
在这种情况下console.log(lifeData.otp)
返回NaN
。
我确信我只是忽略了一些东西。如果您知道这个问题,请欣赏。