为什么"i〃;不等于“;i̇”;
Why "i" is not equals to "i̇"?
在google chrome的javascript控制台中键入以下代码:
"i" == "i̇"
并意识到它返回false。但它们都有相同的字符代码(105)。
这是如何以及为什么可能的?
在评论之后,我意识到第二个I有2个字符,但第二个字符是由以下代码组成的:
"İ".toLowerCase() // outputs i̇
还有
"İ".length // returns 1
javascript.toLowerCase()如何以及为什么可以计算字符长度?
console.log("i".length, "i̇".length)
> 1 2
第二个字符串有一个额外的字符。结果是false
,因为这两个字符串不相同。
如果我们使用charCodeAt()
,我们可以看到这个额外的字符是Unciode符号775,称为上方的组合点。
̇
775
0x307
̇
i
上方的组合点
右侧字符串有两个字符:CCD_8和后面的"组合波浪号"。你只要仔细看问题的标题就知道了!
相关文章:
- 可以'我不明白为什么;t将行和单元格添加到表中
- Don'我不明白为什么我的setInterval+jQuery;不起作用
- 这个旋钮没有更新;我不知道为什么
- 我不知道为什么我的代码是错误的?又有什么错
- CORS:访问控制允许原点不等于提供的原点
- I'我不知道为什么我的代码没有'不起作用
- sqlite查询返回错误-can'我不知道为什么
- JQuery `length`属性工作不正常.为什么?
- 我可以'我不明白为什么我能;不要在JavaScript中更改蜡笔的颜色
- 我没有'我不知道为什么我的jqGrid子网格没有'不要给我看数据
- 为什么我的 React getDOMNode().textContent JavaScript 字符串不等于字符串
- 原型遗传:为什么假不等于假
- 为什么 +true 不等于 true.valueOf
- 为什么“this”不等于“Object”,为什么属性是“undefined”
- 为什么"1.0〃;不等于“+1.0〃;在JavaScript中
- 为什么"i〃;不等于“;i̇”;
- 为什么undefined在JavaScript中不等于零
- 为什么IE's插入符在文本输入中的位置不等于字符串索引?解决方法是什么?
- 为什么我掷1时分数不等于0
- 为什么readyState不等于4