=,
The comparison rules are as follows:
1. If the types are different, [not equal]
2. If both are numerical values and the values are the same, [equal]; (exception) is: if at least one of them is Nan, [not equal]. (You can only use isnan () to determine whether a value is Nan)
Alert (Nan = Nan); // output "false"
Alert (Nan = Nan); // output "false"
3. If both are strings and the characters at each position are the same, [equal]; otherwise [not equal].
4. If both values are true or false, [equal].
Alert (5> 3) === (2 <3); // true
5. If both values reference the same object or function, [equal]; otherwise [not equal].
VaR He = function () {}, Se = He;
Alert (He = Se); // true
6. If both values are null or undefined, [equal].
VaR he, se
Alert (He = Se); // true
Besides,
The comparison rules are as follows:
1. If the two values are of the same type, the comparison rules are as follows:
2. If the two values have different types, they may be equal.
Perform type conversion and comparison based on the following rules:
A. If one is null and the other is undefined, [equal].
B. if one is a string and the other is a numerical value, convert the string to a numerical value before comparison.
C. If any value is true, convert it to 1 for comparison. If any value is false, convert it to 0 for comparison.
D. If one is an object and the other is a value or string, convert the object to a base type value before comparison. Converts an object to a base type and uses its tostring or valueof method.
JS core built-in class, will try valueof prior to tostring;
The exception is date, which uses tostring conversion.
Non-js core objects. (I don't know much about it)
E. Any other combinations (array, etc.) are [not equal].
"=" And "="