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