JS 使用 new String 可能会按地址比较

作者:vkvi 来源:ITPOW(原创) 日期:2010-7-30
var s1 = "s1";
var s2 = new String("s1");
var s3 = new String("s1");
alert(s1 == s1); // true
alert(s1 == s2); // true
alert(s1 == s3); // true
alert(s2 == s3); // false

可以看到第三个比较结果是 false,s2 与 s3 变量均是 String 对象。

原来:当两个参与比较的字符串均是 String 对象(new String("str"))时,它们是按地址比较的。

相关文章