为什么javascript if-else语句只注册读取最后一条else语句?
我在LiveCycle中使用的javascript if-else语句只读取最后一条else语句,不会读取或识别前面的语句。如果你能看到我遗漏了什么,请帮助我。代码如下:为什么javascript if-else语句只注册读取最后一条else语句?,javascript,software-lifecycle,Javascript,Software Lifecycle,我在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.rawVa
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;
}
if(annualUsage.rawValue<1000000)
{
this.rawValue=annualUsage.rawValue*0.1;
}
否则如果(annualUsage.rawValue>=1000000&&annualUsage.rawValue<10000000)
{
this.rawValue=annualUsage.rawValue*0.2;
}
其他(annualUsage.rawValue>=10000000)
{
this.rawValue=annualUsage.rawValue*0.05;
}
if(annualUsage.rawValue<1000000)
等等else{
或者将其转换为else-if语句
else如果(annualUsage.rawValue>=10000000){
您无意中误用了逗号运算符
a、b
将同时执行a
和b
并计算为b
因此,实际上传递给if
s的值是000
,这是错误的
此外,
else
后面的括号表达式成为一条语句(通过ASI),它是else
子句的主体。{
在启动始终执行的正常代码块之后
if (annualUsage.rawValue < 1000000)
谢谢,删除逗号并在最后一条语句上对{}进行寻址可以识别第一条和最后一条语句,但是…第二条中间语句没有被读取?您是否先从所有语句中删除了逗号?因此您的所有数字看起来都像
1000000
?…还可以尝试执行console.log(annualUsage.rawValue)
并查看firebugyup中的结果,它没有读取我的(annualUsage.rawValue>=1000000&&annualUsage.rawValue<10000000)语句。有什么想法吗?首先尝试console.log(annualUsage.rawValue)
,看看你说了些什么,因为我觉得你的其他语句很好。如果说annualUsage没有定义,但其他语句有效?
else if(annualUsage.rawValue >= 10000000)