В двух словах: == Сначала преобразовать тип, а затем сравните его, === Сначала судите тип, если он не тот же тип, он непосредственно неверно.
=== означает, что две стороны сравнения должны быть абсолютно одинаковыми
оповещение (0 == ""); // rueEalert (0 == false); // trueAlert ("" == false); // истинный оповещение (0 === ""); // falsealSealert (0 === false); // falsealSealert ("" === false); // ЛОЖЬДавайте поговорим о ===, это относительно просто, конкретные правила сравнения следующие:
1. Если типы разные, они [неравны]
2. Если оба являются численными значениями и являются одинаковым значением, то [равно]; (! Исключение), если хотя бы один из них - НАН, то [не равен]. (Чтобы определить, является ли значение NAN, вы можете использовать только ISNAN () для суждения)
3. Если оба являются строками, а символы в каждой позиции одинаковы, то [равенство]; в противном случае [не равняется].
4. Если оба значения являются истинными, или оба являются ложными, то [равны].
5. Если оба значения относятся к одному и тому же объекту или функции, то [равенство]; в противном случае [не равняется].
6. Если оба значения являются нулевыми или оба неопределенными, то [равны].
Давайте поговорим о ==, конкретные правила сравнения следующие:
1. Если два типа значений одинаковы, выполните === Сравнение, а правила сравнения такие же, как и выше.
2. Если два типа значений разные, они могут быть равны. Преобразование типа выполняется в соответствии со следующими правилами, а затем сравнивает:
а Если один нуль, а другой - не определен, то [равно].
беременный Если один является строкой, а другой - числовое значение, преобразовать строку в числовое значение, а затем сравните ее.
в Если какое -либо значение верно, преобразуйте его в 1 и сравните его; Если какое -либо значение неверно, преобразуйте его в 0 и сравните его.
дюймовый Если один является объектом, а другой - численная или строка, преобразуйте объект в значение базового типа, а затем сравните его. Преобразуйте объект в основной тип и используйте его метод ToString или значение. Встроенный класс JS Core попытается ценить до Tostring; Исключением является дата, которая использует преобразование ToString. Основной объект Non-JS, скажем так (это более хлопотно, я мало понимаю)
эн. Любая другая комбинация (массив массива и т. Д.), [неравенно].