我有一个初学者的JavaScript问题。假设我们有两个非常大的字符串(约百万个字符或更多),它们是相等的-它们具有相同的长度和相同的内容。 假设我们有这两个函数,它们都执行相同的操作(比较字符串):
function equals1(a, b) {
return a === b;
}
function equals2(a, b) {
if (a.length !== b.length) {
return false;
}
for (var i = 0; i < a.length; ++i) {
if (a[i] !== b[i]) {
return false;
}
}
return true;
}
第一个函数(equals1())为什么几乎比第二个函数快两倍?如何改进第二个函数,使其与第一个函数一样快?