例如:
for (var idx = 0, len = lines.length; idx < len; idx += 1) {
/^regexp?/i.test(lines[idx]);
}
以下会更有效吗?
var pattern = /^regexp?/i;
for (var idx = 0, len = lines.length; idx < len; idx += 1) {
pattern.test(lines[idx]);
}
我的理解是,在第一种情况下,每次迭代都会创建一个新的 RegExp 对象,消耗的内存比必要的多。我的理解是否正确,或者 JavaScript 引擎是否执行了使上述示例等效的优化?