繁体   English   中英

有什么理由说JS字符串不能自相同吗? (见图)

[英]Is there any reason why a JS string would not equal itself? (see photo)

是否有任何理由为什么字符串不能自相同? 我正在处理大量的字符串,最后一些字符串不等于自己。

这是一张图片,展示了我在说什么。

示例图像

有任何想法吗?

已解决:有一个回车符(\\ r)附在其中一个字符串的末尾。 我使用String.length来查看每个字符串的长度,它们不同(5和6)。 然后我使用String.charAt查看了字符串。 在Chrome中,这显示一个空字符串(“”)。 但是,空字符串不是虚假值。 我在FireFox中尝试了这个,它显示了回车。

在任何语言中,如果一个字符串包含一些不可读的字符,而另一个字符串不包含它们,即使它们看起来与人类相等也是如此。

尝试打印它们的长度并将它们打印成char-to-char

可能是其中一个字符是ascii等价物的UTF-8表示。

这是一个音译jquery插件: http//code.google.com/p/jquery-transliteration-plugin/wiki/Usage

最后还可能有一个控制序列,如BOM。

您可能正在将字符串值类型与字符串进行比较。

请参阅javascript字符串类型和字符串对象之间的区别?

解决方案:使用string.valueOf()或使用double equals而不是triple,让javascript将String对象强制转换为字符串值。

从我的控制台a = new String(“asdf”); b =“asdf”; a === b; // false a == b; // true a.valueOf()=== b.valueOf(); //真的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM