为什么“;”==“;”评估结果为“假”?

问题描述 投票:0回答:3

为什么会这样(Firebug 控制台):

> ";" == ";"
> false

但是这个:

> ';' == ';'
> true

有人知道为什么会发生这种情况吗?

javascript firebug conditional-statements equals equality
3个回答
6
投票

因为,尽管看起来相似,U+037E : 希腊问号 与 U+003B : 分号

不一样

这是什么 Unicode 字符? 来拯救这种棘手的问题。


0
投票

正如@Quentin 所说。这些角色并不相同。第一个示例中的分号并非都是分号。不要复制粘贴,尝试自己写一下,你会发现,没有什么区别,它们都会返回 true。怎么样


0
投票

因为

;是英语键盘语言集

并且;是希腊键盘语言输入。

因此,程序正在识别两种不同的语言,并将它们视为 false ,因为它们的键盘格式不同。

因此,请确保使用相同的键盘进行所有编程工作

© www.soinside.com 2019 - 2024. All rights reserved.