Возможные дубликаты:
JavaScript === по сравнению с ==: это имеет значение, какой “равный” оператор я использую?
Оператор Javascript! ==Посмотрите на эту фиксацию
!=
то же как!==
в JavaScript?
Они слегка отличаются.
!=
проверяет значение
!==
проверяет значение и тип
'1' != 1 // false (these two are the same)
'1' !== 1 // true (these two are **not** the same).
В предыдущем примере. Первая половина выражения - строка, вторая половина - целое число
.Большая разница в том, что != выполняет принудительное приведение типа. То есть перед проверкой равенства одно значение эффективно приводится к другому. Поэтому, как и в ответе Амадье:
'1' != 1
-оценивается как ложь. То же самое справедливо и для == v. ===. В общем, избегайте == и !=, если только специально не хотите, чтобы выполнялось принуждение. Используйте === и !== и проверьте, какой именно результат вы ищете.
.С
http://en.wikipedia.org/wiki/JavaScript_syntax#Operators
!== Не идентично
!= Не равно
И "Идентично означает равнозначно и одного типа"
С
http://docstore.mik.ua/orelly/webprog/jscript/ch05_04.htm
"В JavaScript числа, строки и булевы значения сравниваются по значению. ... С другой стороны, объекты, массивы и функции сравниваются по ссылке. "
--
Итак, вкратце, они одинаковые? Нет, потому что есть дополнительный тест с !== (over !=) на одинаковость типов, а также на равенство.
.Посмотрите на JSLint для объяснения разницы. Я бы также посоветовал Вам хотя бы раз передать Ваш JavaScript код через JSLint, Вы можете узнать ценные вещи...
.Нет, это не одно и то же. Смотрите, например, здесь.
4 !== '4' returns true (and 4 === '4' returns false)
4 != '4' returns false (and 4 == '4' returns true)
Проверяет не только значение, но и тип сравниваемых вещей. То же самое происходит и на php, и на некоторых других языках.
.