微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

神秘的javascript行为:不等于等于

JSfiddle说,我真的不知道怎么可能,而且我无法在简化的环境中重现错误.但这是它在我的应用程序中的样子.

我试图将值为’True’,’False’或’其他’字符串的值转换为布尔值,如果它是True或False.在大多数情况下,它工作正常(虽然它们可能是一种更加光滑的转换方式),如下图所示

但有时它失败了,手表的价值显示如下:

因此突然变量值为“True”的字符串变量不等于“True”字符串文字.我迷路了.这怎么可能?我在这里错过了什么?

提前致谢

最佳答案
也许您的字符串包含调试工具未显示的字符.以下是Google Chrome控制台中的示例:

> var a = "foo";
> var b = "foo\r";
> a
"foo"
> b
"foo"
> a === b
false

很难说出你的情况会发生什么,但是你可以使用’mysterIoUs’字符串的.length和.charat(i)属性来找出正在发生的事情.

原文地址:https://www.jb51.cc/js/429531.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐