2. 9. 1. Equal and Not Equal |
|
<html>
<head>
<title>A Simple Page</title>
<script language="JavaScript">
<!--
var x = 0;
while (x < 10)
{
x++;
if (x % 2 != 0)
{
continue;
}
document.write(x);
}
// -->
</script>
</head>
<body>
</body>
</html>
|
|
The equal operator in JavaScript is the double equal sign (==), and it returns true if both operands are equal. |
The not equal operator is the exclamation point followed by an equal sign (!=), and it returns true if operands are not equal. |
Both operators do conversions in order to determine if two operands are equal. |
When performing conversions, follow these basic rules: |
- If an operand is a Boolean value, convert it into a numeric value before checking for equality. A value of false converts to 0; whereas a value of true converts to 1.
- If one operand is a string and the other is a number, attempt to convert the string into a number before checking for equality.
- If one operand is an object and the other is a string, attempt to convert the object to a string (using the toString() method) before checking for equality.
- If one operand is an object and the other is a number, attempt to convert the object to a number before checking for equality.
- Values of null and undefined are equal.
- Values of null and undefined cannot be converted into any other values for equality checking.
- If either operand is NaN, the equal operator returns false and the not equal operator returns true.
- If both operands are NaN, the equal operator returns false because, by rule, NaN is not equal to NaN.
- If both operands are objects, then the reference values are compared.
- If both operands point to the same object, then the equal operator returns true. Otherwise, the two are not equal.
|
The following table lists some special cases and their results: |
Expression | Value | null == undefined | true | "NaN" == NaN | false | 5 == NaN | false | NaN == NaN | false | NaN != NaN | true | false == 0 | true | true == 1 | true | true == 2 | false | undefined == 0 | false | null == 0 | false | "5" == 5 | true |
|