gpt4 book ai didi

javascript改变字符串大小写速度

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:11 26 4
gpt4 key购买 nike

哪个更快? javascript 中的 toUpperCase() 还是 toLowerCase()?

最佳答案

这里有一些 test results来自主要浏览器(几个月前)。得出的结论是 toLowerCase() 更快,但没有深入了解原因

编辑:

出于好奇,我浏览了 WebKit JavaScript 源代码。 .toUpperCase().toLowerCase() 原型(prototype)方法除了对 .toASCIIUpper().toASCIILower 的一些调用外是相同的()Unicode::toUpper()Unicode::toLower()。进一步检查前两个方法,我发现 .toLowerCase() 函数比 .toUpperCase() 函数稍微简单一些。


.toASCIILower() 做一些简单的位移逻辑:

char toASCIILower(char c) { 
return c | ((c >= 'A' && c <= 'Z') << 5);
}

.toASCIIUpper() 有点复杂:

char toASCIIUpper(char c) { 
return static_cast<char>(c & ~((c >= 'a' && c <= 'z') << 5));
}

.toASCIIUpper() 函数中的静态转换和额外的按位取反 (~) 重复了一百万次迭代,这可能是其性能较差的原因。

现在,这都是推测;我没有做过真正的测试,也没有试图完全理解这些方法,但也许其他人可以详细说明。

关于javascript改变字符串大小写速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com