document.write((1 == '1') + '<br>');
document.write((1 === '1') + '<br>');
true
false

解决方案 »

  1.   

    比较是否相等,但表达式会做一些转换
    例如左右两边有一边是数字,则另一边会转为数字再比较。
    例如: <script type="text/javascript">
     var a = 1;
     var b = "1"; if(a==b){
    alert(true);
     }else{
    alert(false);
     }会alert true如果想按当前类型比较,则使用=== 全等于 <script type="text/javascript">
     var a = 1;
     var b = "1"; if(a===b){
    alert(true);
     }else{
    alert(false);
     }会 alert false
      

  2.   

    http://www.w3schools.com/js/js_comparisons.asp
      

  3.   

    function func1() {return 1}
    function func2() {return true}alert(func1() == func2());
    alert(func1() === func2());
      

  4.   

    一般来说,需要与null和undefine进行比较时,会使用==
    其他情况下,建议使用===,主要是避免类型转换,造成意向不到的后果!