据我所知,使用该函数会使整个字符串全部小写。但是,我对幕后工作很好奇。我找不到任何关于它是如何工作的解释。它是否基本上循环遍历字符串中的每个索引并检查字符是什么以及是否有可用的小写字符?
答案 0 :(得分:7)
一般来说,查找此类信息的最佳位置是ECMAScript specification:
采取以下步骤:
- 调用CheckObjectCoercible,将此值作为参数传递。
- 设S是调用ToString的结果,并将此值作为参数。
- 设L是一个字符串,其中L的每个字符是S的相应字符的Unicode小写等价物,或者如果不存在Unicode小写等效字符则是S的实际对应字符。
- 返回L。
醇>出于此操作的目的,字符串的16位代码单元被视为Unicode基本多语言平面中的代码点。代理代码点直接从S传输到L,没有任何映射。
结果必须根据Unicode字符数据库中的大小写映射派生(这显然不仅包括UnicodeData.txt文件,还包括Unicode 2.1.8及更高版本中随附的SpecialCasings.txt文件)。 / p>
第3步是你真正感兴趣的部分。正如你所看到的," L"生产是由实施。如果您有兴趣深入探索下一个地方,例如V8 engine本身。