0

我在 LiveCycle 中使用的 javascript if else 语句只读取最后一个 else 语句,不会读取或识别它之前的语句。如果您能看到我缺少的内容,请提供帮助。这是代码:

if (annualUsage.rawValue < 1,000,000) 
{
this.rawValue = annualUsage.rawValue * 0.1;
}
else if (annualUsage.rawValue >= 1,000,000 && annualUsage.rawValue < 10,000,000) 
{
this.rawValue = annualUsage.rawValue * 0.2;
}
else (annualUsage.rawValue >= 10,000,000) 
{
this.rawValue = annualUsage.rawValue * 0.05;
}
4

3 回答 3

1
  1. 从你的数字中去掉逗号?所以喜欢

    if (annualUsage.rawValue < 1000000)

    ETC...

  2. 最后一个 else 语句也没有条件,因此您可以删除条件

    else{

    或者把它变成一个 else if 语句

    else if(annualUsage.rawValue >= 10000000){

于 2013-07-19T21:17:07.813 回答
0

您无意中滥用了逗号运算符。

a, b将同时执行aandb并评估为b.

因此,您实际传递给ifs 的值是000,这是错误的。


此外,括号后的表达式else变成了一个语句(通过 ASI),它是else子句的主体。
{它启动一个始终执行的普通代码块之后。

于 2013-07-19T21:18:05.300 回答
0
  1. 从数字中删除逗号:

    if (annualUsage.rawValue < 1000000) 
    

    否则,它会计算为带有逗号运算符的表达式。

  2. 即使是最后一个else也需要纠正。

    else  if(annualUsage.rawValue >= 10000000) 
    
于 2013-07-19T21:19:26.743 回答