关于javascript:三个等号

Triple (3) Equal Signs

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
JavaScript === vs == : Does it matter which “equal” operator I use?

我在这里又问了一个问题,得到了一个很好的答案:

1
2
3
4
5
$(document).on("keydown", function (e) {
  if (e.which === 8 && !$(e.target).is("input, textarea") || $(e.target).is('[readonly]')) {
      e.preventDefault();
  }
});

注意if语句中的三个等号===。我一直认为javascript/jquery if语句只需要两个等号==。这三个人有什么理由吗?

更新

对不起,重复的问题-我搜索了,但没有找到任何好的问题。我想我用错了搜索词。


javascript中的三等号意味着没有类型强制的相等。

例如:

1
2
1=="1"     // true, automatic type coersion
1==="1"    // false, not the same type.


三个等号表示值和类型都相等。