Por que o RegExp.test () não é consistente?

Eu não entendo porque o javascriptRegExp.test() método não retorna o mesmo resultado toda vez que eu o chamo.

Dadas as seguintes variáveis ​​javascript

var opener = '<span[^>]*>';
var regexo = new RegExp('^'+opener+'

Eu faço o seguinte:

alert(regexo.test('<span class="outer">')); // true
alert(regexo.test('<span class="inner">')); // false
alert(regexo.test('<span class="inner">')); // true

Eu testei no Firefox 24.0 e IE8 com o mesmo resultado estranho.

Por que o resultadotrue, false, true ao invés detrue, true, true ?

, "g");

Eu faço o seguinte:

alert(regexo.test('<span class="outer">')); // true
alert(regexo.test('<span class="inner">')); // false
alert(regexo.test('<span class="inner">')); // true

Eu testei no Firefox 24.0 e IE8 com o mesmo resultado estranho.

Por que o resultadotrue, false, true ao invés detrue, true, true ?

questionAnswers(1)

yourAnswerToTheQuestion