JavaScript Tutorial/Operators/Boolean Operators — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
 
м (1 версия)
 
(нет различий)

Текущая версия на 08:24, 26 мая 2010

JavaScript provides three Boolean operators

JavaScript defines true as anything other than 0 (zero), "" (empty string), null, undefined, and false.

Logical AND (&& )

The logical AND operator (&&) returns true if the expression to the both sides of the operator evaluates to true.

If either the left, right, or both expressions evaluate to false, the result of the operation is false.

The AND operation begins by evaluating the left operand.

If the left operand evaluates false, the basic logic of the AND operator is complete.

But if the left operand evaluates true, the right operand must be evaluated.

Logical OR

The logical OR operator (||) returns false if the expression to the both sides of the operator evaluates to false.

If one of the left and the right expressions evaluate to true, the result of the operation is true.

The OR operation begins by evaluating the left operand.

If the left operand evaluates true, the basic logic of the OR operator is complete.

But if the left operand evaluates false, the right operand must be evaluated.

Logical NOT

If the expression evaluates to true, the result of the logical NOT operator (!) is false.

If the expression evaluates to false, the result is true.

When the expression evaluates to a non-Boolean value, it is converted to true or false before performing the inversion.

Identity

If the value on the left is equal to the value on the right side of the operator, true is returned from the identity operator (===).

If the values are not equal, false is returned.

No type-conversion is performed on the operands before the comparison.

Non-Identity

If the value on the left is not equal to the value on the right side of the operator, true is returned from the non-identity operator (!==).

If the values are equal, false is returned.

No type-conversion is performed on the operands before the comparison is made.

The identity and non-identity operators are only available in JavaScript 1.3 and later.



<html>
    <script language="JavaScript">
    <!--
    x = 3;
    if((2==x) && (x=5)) {
      document.write("The && evaluated TRUE!<br>");
    }
    else
    {
      document.write("The && evaluated FALSE!<br>");
    }
    document.write("x=",x,"<br>");
    -->
    </script>
    </html>


Logical AND

The logical AND operator in JavaScript is indicated by the double ampersand (&&):



var bTrue = true;
var bFalse = false;
var bResult = bTrue && bFalse;


Logical AND behaves as described in the following truth table:

Operand 1 Operand 2 Result true true true true false false false true false false false false

! (Logical NOT)

The logical NOT operator is indicated by an exclamation point (!).

The logical NOT always returns a Boolean value.

The logical NOT operator behaves in the following way:

  1. If the operand is an object, false is returned.
  2. If the operand is the number 0, true is returned.
  3. If the operand is any number other than 0, false is returned.
  4. If the operand is null, true is returned.
  5. If the operand is NaN, true is returned.
  6. If the operand is undefined, an error occurs.



<html>
    <script language="JavaScript">
    <!--
    theTruth = new String("1");
    theReverseTruth = !theTruth;
    document.write("theTruth = ",theTruth,"<br>");
    document.write("theReverseTruth = ",theReverseTruth);
    -->
    </script>
</html>


|| (Logical OR)

The logical OR operator in JavaScript is the same as in Java, using the double pipe (||):



var bTrue = true;
var bFalse = false;
var bResult = bTrue || bFalse;


Logical OR behaves as described in the following truth table:

Operand 1 Operand 2 Result true true true true false true false true true false false false

Use logical NOT to control the loop

var bFound = false;
var i = 0;
while (!bFound) {
    if (aValues[i] == vSearchValue) {
        bFound = true;
    } else {
        i++;
    }
}