Сообщение от ECMA-262-3 7.8.5 Regular Expression Literals
|
A regular expression literal is an input element that is converted to a RegExp object (section 15.10)
when it is scanned. The object is created before evaluation of the containing program or function begins.
Evaluation of the literal produces a reference to that object; it does not create a new object.
|
Однако, это поведение не наблюдается в Safari и IE.
https://bugzilla.mozilla.org/show_bug.cgi?id=98409 - хотели фиксить в ES4 (который не вышел), B.Eich участвовал в обсуждении этого "бага". Так что, сейчас это поведение нормальное (в качестве оптимизации - регэксп может появится, например, в теле цикла).