Chiunque può spiegarmi, perché la variabile locale Regex variabile e non locale Regex ha un'uscita diversa.Regex.test() sta dando un vero sequenziale falso?
var regex1 = /a|b/g;
function isAB1() {
return regex1.test('a');
}
console.log(isAB1()); // true
console.log(isAB1()); // false
console.log(isAB1()); // true
console.log(isAB1()); // false
function isAB2() {
var regex2 = /a|b/g;
return regex2.test('a');
}
console.log(isAB2()); // true
console.log(isAB2()); // true
console.log(isAB2()); // true
console.log(isAB2()); // true
ho creato un JSFiddle
per lo stesso here.
dal [doc] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test): 'chiamato più volte sulla stessa istanza dell'espressione regolare globale verrà avanzare oltre la precedente partita'. – Hacketo