gpt4 book ai didi

JavaScript:比较字符时使用 charCode 有好处吗?

转载 作者:行者123 更新时间:2023-11-30 09:44:03 25 4
gpt4 key购买 nike

首先:我对 JavaScript 有一点了解,但了解不多。

今天我看到了这些代码:

if (stringToSearch[i].charCodeAt(0) === codeToSearch) {

String的charCodeAt()方法用于将当前字符与搜索到的字符进行比较。

该函数的完整代码在这里:

function getOccurences (stringToSearch, charToSearch) {
var ret = 0;
var codeToSearch = 0;
var i;

stringToSearch = stringToSearch.toUpperCase();
codeToSearch = charToSearch.toUpperCase().charCodeAt(0);

for (i = 0; i < stringToSearch.length; i++) {
if (stringToSearch[i].charCodeAt(0) === codeToSearch) {
ret++;
}
}

return ret;
}

我会直接比较字符。不使用 charCodeAt()。

只是...

  stringToSearch[i] === charToSeach

据我所知,计算机无论如何都只是比较数字。将字符转换为其 UTF 代码。将这些数字相减,然后检查结果是否为零。

所以我的问题是:

使用 charCodeAt() 有意义吗?

直接进行字符代码比较比字符比较有好处吗?

最佳答案

我的直觉是,当您经历这样的类型转换和函数调用循环时,性能会受到影响

也就是说,您可能会通过委托(delegate)给 native 字符串方法来提高代码的性能,例如:

function countCaseInsensitiveOccurrences(haystack, char) {
haystack = haystack.toUpperCase();
char = char.toUpperCase()[0];
var count = 0, pos = -1;
while ((pos = haystack.indexOf(char, pos + 1)) !== -1) {
count++;
}
return count;
}

关于JavaScript:比较字符时使用 charCode 有好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39741672/

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