Discussion: regexp, match
Afficher un message
Vieux 25/09/2007, 12h37   #38
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Eureka [Fut : regexp, match]

Le 25/09/2007 11:55, Olivier Miakinen a écrit :
>
> Ma question :
> Pourquoi lastIndex n'est-il pas mis à 0 lorsque myRe est réinitialisée
> au début du deuxième appel de testg() ?


Ça y est, j'ai trouvé.

<cit. Standard ECMA-262 Déc. 1999 paragraphe 7.8.5>
7.8.5 Regular Expression Literals
[...] 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. [...]
</cit.>

En bref, l'expression littérale /[^a-z]/gi (ou /ab*/gà est évaluée une
seule fois, et à chaque appel de la fonction la variable reçoit une
simple référence vers cet objet unique. Il est donc normal que lastIndex
ne soit pas remis à zéro puisqu'il n'y a pas création d'un nouvel objet.
  Réponse avec citation
 
Page generated in 0,04650 seconds with 9 queries