如果子句出现故障,则NodeJS Schema虚拟函数

时间:2018-11-07 16:23:37

标签: javascript node.js

我从这个脚本中得到了一个虚假的事实,这令人困惑。在Node.js中使用虚拟机。 “ XFactor”实际上是从0.0到1.0的比例,代表变量1和变量2之间的关系。

Schema.virtual('XFactor').get(function() {
  if (this.variable1 > this.variable2) {
    var x = 1/2 * (this.variable2 / this.variable1);
  } else  { 
    var x = 1- 1 / 2 * this.variable1 / this.variable2; 
  }
   return x.toFixed(2); 
});

这段代码一直在起作用。但是由于某种原因,它是不可靠的。 if子句if (this.variable1 > this.variable2)有时即使不正确,有时也会被评估为true,从而运行了错误的代码部分。如果相关,变量1和变量2也是虚拟的,在代码的前面部分中进行了计算。它们是整数。

1 个答案:

答案 0 :(得分:0)

我很高兴能够回答自己的问题!由于某种原因,我在此脚本中使用的其他虚拟机尽管是数字,但根据Javascript却不是数字。因此,为了执行精确的数值函数,我必须将它们转换。我使用Number()函数来做到这一点。一旦完成,一切都会按预期进行。