<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 |