例如:在循環中使用JavaScript regexp文字會消耗不必要的內存嗎?
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]);
}
我理解的是一個新的正則表達式對象將在第一種情況下每次迭代被創建,消耗更多的內存比是必要的。我的理解是正確的,還是JavaScript引擎執行的優化使上面的例子等價?
+1對於jsperf測試 – 2013-05-10 00:15:25