Compartilhar via


Instruções condicionais

Instruções de código JScript seqüencialmente executado por padrão.Talvez seja útil, no entanto, para alterar o controle de sequência e transferência lógico para uma parte do código dependendo das condições específicas não seqüenciais.Uma estrutura de controle transfere o controle de programa para um dos seguintes locais, dependendo se uma demonstrativo condicional testa true ou false.Qualquer expressão coercible um valor booliano pode ser usado sistema autônomo uma demonstrativo condicional.Alguma condição instruções comuns são mencionadas aqui.

Igualdade e igualdade Strict

O operador de igualdade (==) em uma condição de demonstrativo verifica se os dois argumentos passados para ele tem o mesmo valor, executar conversão de tipo se for necessário fazer uma comparação. O operador de Igualdade estrita (===) compara o valor e o tipo de duas expressões; true será retornado apenas se o valor e o tipo de dados são as mesmas para os dois operandos.Observe que o operador de Igualdade estrita não faz distinção entre tipos diferentes de dados numéricos.

O código JScript a seguir combina um operador de igualdade com um Se demonstrativo que o utiliza.Para obter mais informações, consulte Estruturas de controle.

function is2000(x) : String {
   // Check if the value of x can be converted to 2000.
   if (x == 2000) {
      // Check is the value of x is strictly equal to 2000.
      if(x === 2000)
         print("The argument is number 2000.");
      else
         print("The argument can be converted to 2000.");
   } else {
      print("The argument is not 2000.");
   }
}
// Check several values to see if they are 2000.
print("Check the number 2000.");
is2000(2000);
print("Check the string \"2000\".");
is2000("2000")
print("Check the number 2001.");
is2000(2001);

A seguir é a saída desse código.

Check the number 2000.
The argument is number 2000.
Check the string "2000".
The argument can be converted to 2000.
Check the number 2001.
The argument is not 2000.

Operador de desigualdade e desigualdade Strict

O operador de desigualdade (!=) retorna o resultado oposto de operador de igualdade. Se o operando tem o mesmo valor, o operador de desigualdade retorna False; caso contrário, ela retornará True.Da mesma forma, o operador de desigualdade estrita (!==) Retorna o resultado oposto do operador de Igualdade estrita.

Considere a seguinte amostra de código de JScript no qual o operador de desigualdade é usado para controlar um while loop. Para obter mais informações, consulte Estruturas de controle.

var counter = 1;
// Loop over the print statement while counter is not equal to 5.
while (counter != 5) { 
   print(counter++);
}

A seguir é a saída desse código.

1
2
3
4

Comparação

Os operadores de igualdade e desigualdade são úteis se um segmento de dados tem um valor específico.No entanto, em algumas situações código talvez precise verificar se é um valor em um intervalo específico.Os operadores relacionais, menor que (&lt;), maior que (&gt;), menor ou igual a (< =) e maior ou igual a (> =), são apropriadas para esses casos.

if(tempInCelsius < 0)
   print("Water is frozen.")
else if(tempInCelsius > 100)
   print("Water is vapor.");
else
   print("Water is liquid.);

Short-Circuit

Se você deseja testar várias condições juntos e você souber que um é mais provável passar ou não que os outros, você pode usar um recurso chamado avaliação de circuito curto para acelerar a execução do seu script e evitar efeitos colaterais que pode causar erros.Quando o JScript avalia uma expressão lógica, ela é avaliada somente tantos subexpressões conforme o necessário para obter um resultado.

E lógico (&&) operador avaliará a expressão à esquerda passada a ele pela primeira vez.Se essa expressão converte em False, em seguida, o resultado do operador lógico and não pode ser True independentemente do valor da expressão direita.Portanto, a expressão direita não será avaliada.

Por exemplo, no expressão ((x == 123) && (y == 42))JScript primeiro verifica se x é 123. Se não, o teste para y nunca é feita, e JScript retorna o valor False.

Da mesma forma, o operador lógico OR (||) avalia a expressão à esquerda pela primeira vez e se ela converte em True, a expressão direita não será avaliada.

Short-circuiting é útil quando as condições a serem testadas envolvem a execução de chamadas de função ou outras expressões complexas.Para que um script executado com mais eficiência, coloque as condições maior probabilidade de ser True primeiro para o operador lógico OR.Para o operador lógico and, coloque as condições maior probabilidade de ser False primeiro.

Um exemplo dos benefícios de projetar seu script dessa maneira é que runsecond() não será executada no exemplo a seguir se o valor retornado de runfirst() converteFalse.

if ((runfirst() == 0) || (runsecond() == 0)) {
   // some code
}

Outro exemplo dos benefícios de projetar seu script dessa maneira é que runsecond() não será executada no exemplo a seguir se o valor retornado de runfirst() converteFalse.

if ((x == 0) && (y/x == 5)) {
   // some code
}

Outros

Qualquer expressão que pode ser convertido em um valor booliano pode ser usado sistema autônomo uma demonstrativo de condição.Por exemplo, você poderia utilizar uma expressão, sistema autônomo:

if (x = y + z) // This may not do what you expect - see below!

Observe que o código acima é não check if x é igual a y + z, desde que a sintaxe usa apenas um único sinal de igual (atribuição). Em vez disso, o código acima atribui o valor de y + z a variável xe, em seguida, verifica se o resultado de toda a expressão (o valor da x) pode ser convertido em valor True.Para verificar se x é igual a y + z, use o código a seguir.

if (x == y + z) // This is different from the code above!

Consulte também

Conceitos

Dados booliano

Outros recursos

Estruturas condicional JScript

Tipos de dados do JScript

Referência do JScript

Operadores (JScript)