11548 sujets

JavaScript, DOM et API Web HTML5

Salut à vous,

J'ai un script qui ne fonctionne que sous Firefox. Je souhaiterai le faire fonctionner au moins sur Chrome. Je pense que c'est lié à la version du moteur JavaScript (1.6 vs 1.5).

Voici mon code :
var mystring = '50 60 70';
var [, match1, match2, match3] = /(\d+)\s(\d+)\s(\d+)/.exec(mystring);
alert(match1);
alert(match2);
alert(match3);

Si vous avez des pistes, elles m'intéressent ! Smiley smile Merci d'avance !
Je pense tout simplement que cette syntaxe n'est pas très correcte
var [, match1, match2, match3]

Pourquoi ne pas faire un simple
var match = /(\d+)\s(\d+)\s(\d+)/.exec(mystring); 
alert(match[1]); 
alert(match[2]); 
alert(match[3]);
Oui en fait, c'est très facile de modifier le code pour le faire fonctionner mais l'écriture est plus sympa que de devoir passer par les indices du tableau.

Tu trouveras cette syntaxe en bas de cette page : New in JavaScript 1.7
Alphonse a écrit :
Je pense que c'est lié à la version du moteur JavaScript (1.6 vs 1.5).
(...)
New in JavaScript 1.7

...

Mais de toute façon ces histoires de version de JavaScript ne sont pas des indicateurs très fiables. Je lis par exemple sur Wikipedia:
en.wikipedia.org a écrit :
Mozilla manages the official version of JavaScript. Most non-Mozilla implementations claiming JavaScript "compliance" do not actually support most JavaScript extensions; rather, they target ECMA-262, edition 3.
V8 implements ECMAScript as specified in ECMA-262, 3rd edition.