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);
私の2つのFirefoxバージョンでは、これは40x foo
、1x null
、41xfoo
を返し、それ以降は、呼び出しごとにこれら2つを交換します。
これに遭遇したことがありますか?