我在 Firefox 10 和 11 中使用正则表达式函数 exec() 时遇到了问题。
该函数在被大量调用时似乎表现不稳定。在正确的结果中,它也返回null
了很多。从 Safari 5.1.3、Chrome 18 和上述 Firefox 版本,我只能在 Firefox 中看到问题。
我创建了一个 JSFiddle 来演示这个问题:http://jsfiddle.net/KSH3S/,来源:
var i, x = "";
for (i = 0; i < 10000; i++) {
var matches = /foo/g.exec('sdkfjfooasdknal');
x += matches + "<br>";
}
$('body').html(x);
在我的两个 Firefox 版本中,这会返回 40x foo
、 1x null
、 41x foo
,然后每次调用都会在这两个版本之间进行交换。
你遇到过这种情况吗?