Почему javascript, если оператор else регистрирует только чтение последнего оператора else?
Яваскрипт if else, который я использую в LiveCycle, читает только последний оператор 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;
}
3 ответа
Убрать запятые из своих номеров? Так нравится
if (annualUsage.rawValue < 1000000)
так далее...
Также последний оператор else не получает условие, поэтому вы можете удалить условие
else{
или превратить его в оператор if if
else if(annualUsage.rawValue >= 10000000){
Уберите запятую из цифр:
if (annualUsage.rawValue < 1000000)
В противном случае вычисляется выражение с оператором запятой.
Даже последний
else
необходимо исправить.else if(annualUsage.rawValue >= 10000000)
Вы непреднамеренно неправильно используете оператор запятой.
a, b
выполнит оба a
а также b
и оценить b
,
Следовательно, значение, которое вы фактически передаете if
с это 000
Это ложь.
Кроме того, выражение в скобках после else
становится утверждением (через ASI), который является телом else
пункт.{
после этого начинается нормальный блок кода, который всегда выполняется.