这直接来自 IE (Microsoft Edge 25.10) 中的控制台:
greg = new Date().toLocaleTimeString().split(':')[0];
"12"
greg = new Date().toLocaleTimeString().split(':')[0]=="12";
false
为什么?
最佳答案
因为字符串中有两个不可见字符:U-200E (从左到右标记)在开头和结尾:
new Date().toLocaleTimeString().split(':')[0] == "\u200e12\u200e" // true
toLocaleTimeString
定义为here通过 ECMA-402如果浏览器支持 ECMA-402;否则,完全取决于实现。 IE 不支持 ECMA-402,因此它可以在它喜欢的字符串中放入任何内容。包括从左到右的标记似乎是一件奇怪的事情,但是......
关于javascript - IE Date.toLocaleTimeString().split 不返回字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40461789/