代码之家  ›  专栏  ›  技术社区  ›  doublep

对象和字符串之间的JavaScript相等

  •  2
  • doublep  · 技术社区  · 14 年前

    根据Firebug控制台,我们在JavaScript中有以下内容:

    >>> [''] == ''
    true
    >>> [''] == ['']
    false
    

    我发现Python在这里更符合逻辑,我希望它是正确的。不管怎样,我能理解第二个显然是两个不同的物体从来不会互相比较相等,但是第一个给出的理由是什么 true ? 哪根弦会 ['', ''] 比较等于?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Dagg Nabbit    14 年前

    它将左边数组的字符串表示形式与右边的字符串进行比较。

    alert(['', ''] == ','); // true
    
    alert([1, 2] == '1,2'); // true
    

    当然,您可以使用严格比较运算符来避免这种情况。。。

    alert([''] === ''); // false
    
    推荐文章