Почему 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 ответа

  1. Убрать запятые из своих номеров? Так нравится

    if (annualUsage.rawValue < 1000000)

    так далее...

  2. Также последний оператор else не получает условие, поэтому вы можете удалить условие

    else{

    или превратить его в оператор if if

    else if(annualUsage.rawValue >= 10000000){

  1. Уберите запятую из цифр:

    if (annualUsage.rawValue < 1000000) 
    

    В противном случае вычисляется выражение с оператором запятой.

  2. Даже последний else необходимо исправить.

    else  if(annualUsage.rawValue >= 10000000) 
    

Вы непреднамеренно неправильно используете оператор запятой.

a, b выполнит оба a а также b и оценить b,

Следовательно, значение, которое вы фактически передаете ifс это 000Это ложь.


Кроме того, выражение в скобках после else становится утверждением (через ASI), который является телом else пункт.
{ после этого начинается нормальный блок кода, который всегда выполняется.

Другие вопросы по тегам