Laurent vilday wrote:Il semblerait donc que la notation [] soit à *recommander* par rapport
à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni sur
d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
Laurent vilday wrote:
Il semblerait donc que la notation [] soit à *recommander* par rapport
à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni sur
d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
Laurent vilday wrote:Il semblerait donc que la notation [] soit à *recommander* par rapport
à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni sur
d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
Laurent vilday wrote:Il semblerait donc que la notation [] soit à *recommander* par
rapport à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni
sur d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
J'aurai tendance à dire que oui mais sans aucune certitude
malheureusement :(
Laurent vilday wrote:
Il semblerait donc que la notation [] soit à *recommander* par
rapport à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni
sur d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
J'aurai tendance à dire que oui mais sans aucune certitude
malheureusement :(
Laurent vilday wrote:Il semblerait donc que la notation [] soit à *recommander* par
rapport à la notation new Array(), au moins pour ces 3 navigateurs en
environnement windows (pas le courage de tester ni en slackware ni
sur d'autres navigateurs, j'ai assez perdu mon temps avec ça), puisque :
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
J'aurai tendance à dire que oui mais sans aucune certitude
malheureusement :(
Quant à dire que Array() ne permet pas les tableaux multidimensionnels
...
personne ne m'avait prévenu !
Ce qui est curieux c'est que Array() ne semble pas être au courant de
cette nouveauté.
Quant à dire que Array() ne permet pas les tableaux multidimensionnels
...
personne ne m'avait prévenu !
Ce qui est curieux c'est que Array() ne semble pas être au courant de
cette nouveauté.
Quant à dire que Array() ne permet pas les tableaux multidimensionnels
...
personne ne m'avait prévenu !
Ce qui est curieux c'est que Array() ne semble pas être au courant de
cette nouveauté.
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et
Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
Même sous NC4 c'est OK. C'est dire !
(...)
Safari passe le test ci-dessus
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et
Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
Même sous NC4 c'est OK. C'est dire !
(...)
Safari passe le test ci-dessus
- la notation courte [] va un tantinet plus vite,
- permet une écriture plus concise,
- permet de préremplir les tableaux de façon simplifiée,
- permet même la création de tableaux multidimensionnels ce que ne
permet pas new Array().
En effet ça semble assez séduisant d'un point de vue syntaxe
Par contre quid du support ? (je pense en particulier à IE 5 et
Safari ?)
De mémoire, la notation courte (literal array) a été introduite en
Javascript 1.2. Je n'ai malheureusement aucun moyen de vérifier mais à
priori IE5 ça devrait pas lui poser de problème, quand à safari, je ne
vois que ASM pour pouvoir nous dire si oui ou non c'est utilisable.
Même sous NC4 c'est OK. C'est dire !
(...)
Safari passe le test ci-dessus
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
[...]
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander.
Et bien, il suffit de vérifier pour se persuader du contraire :
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
[...]
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander.
Et bien, il suffit de vérifier pour se persuader du contraire :
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
[...]
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander.
Et bien, il suffit de vérifier pour se persuader du contraire :
Je ne vais pas répondre dans le fil, ça serait indigeste, mais reprendre
quelques points et développer.
Mouais évidemment, ça va aider à comprendre c'est certain. D'un autre
côté, ça va te permettre de me préter des paroles qui ne sont pas les
miennes, belle technique.
1) L'OP devait-il utiliser un Array ?
Non !
[...] Toute la problématique est résumé avec ces 3 mots :
"pas nécessairement consécutifs"
Par ailleurs on ne sait pas quelles propriétés spécifiques aux Arrays
sont utilisées. S'il n'y en a aucune, il est alors possible d'utiliser
des Objects mais pourquoi pas un Array qui permettra de connaître très
vite le plus grand identifiant numérique utilisé (mesDonnees.length-1).
Non, ce n'est pas consécutifs, d'après ce qu'il dit il a potentiellement
ceci :
mesDonnees[0] = [];
mesDonnees[1] = [];
mesDonnees[31] = [];
mesDonnees[20] = [];
mesDonnees[8] = [];
alert(mesDonnees.length - 1);
// 31
31 ?!?! Ce n'est pas vrai, tout simplement.
Je remets l'url qui explique bien mieux que moi pourquoi il ne faut
*pas* utiliser un Array() dans ce cas précis puisque tu insistes dans
cette direction qui est fausse, et même pire que fausse, c'est la
direction à ne *pas* prendre :
http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
Ce qu'il a besoin n'est pas un tableau au sens Array() du terme
javascript mais bien un Object().
2) La question de l'OP était : existe-t-il un moyen de parcourir un Array
qui n'est pas 'dense' (qui ne possède pas une valeur pour chaque indice
inférieur à sa propriété length) ?
La réponse est oui, for(p in o) qui énumérera en p les propriétés
énumérables définies de l'objet o.
Oui, ai-je proposé qqchose de différents ?
Et comme tu le dis - l'objet o - alors pourquoi aller utiliser un
Array() quand on parle d'Object() ? On retombe sur le problème
d'utiliser un type incompatible avec le besoin.
var x = new Boolean();
x[0] = 'foo'; x[10] = 'bar'; x[20] = 'foobar';
for ( var i in x ) alert(i);
Ca donne : 0 puis 10 puis 20
Est-ce une raison pour autant d'aller utiliser un Boolean() ? non !
Ceci n'est pas propre aux Arrays mais
à tous les objets JS. Ça présente l'avantage pour les Arrays de ne donner
que les "indices" pour lesquels une valeur est définie. Il donnera
également
les autres propriétés qu'on aura pu ajouter à l'objet Array... Se servir
dans les Arrays des méthodes et opérateurs définis pour les Objects c'est
prévu. Et ce n'est pas un miracle, c'est de la programmation orientée
objet -- enfin, tu dois le savoir.
Ah, et depuis quand javascript est orienté objet ?
C'est un langage
prototypé, pas du tout objet dans le sens OOP qu'on peut trouver en php
par exemple. Faire l'amalgamme n'est pas aider le lecteur.
3) [...]
Tout ce que tu as dit là n'ajoute rien au débat. C'est attaque personnelle
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
Lol, comme si c'était le seul "argument" que j'avais énoncé. Et quand tu
me demandes les différences et que je réponds "presque aucune". Est-ce
que tu comprends autre chose ? Encore une fois, tant pis.Pour ces notations abrégées de l'initialisation d'un Array ou Object,
la norme ECMA262 emploie l'expression Array Initialiser :
Oui, chapitre 11.1.4 et appendice A.3, où la norme parle d'expression.
<snip>Dans un cas on fait appel explicitement au constructeur, dans l'autre
c'est implicite.
Et ? Si je te suis bien et en appliquant ton raisonnement (explicite vs
implicite) à tous les types existants en javascript, tu prétends que
var x = new String('foo');
serait à conseiller au dépend de
var x = 'foo';
Les deux existent, alors pourquoi prétendre que pour le type tableau
(Array) la notation courte est à proscrire. J'ai juste énoncé le fait
que ça existait, pas que c'était préférable, simplement que ça existait.
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander. On se sert de
l'un ou l'autre selon ses besoins et préférences -- et ce n'est pas
parce qu'un script est abscons qu'il est forcément 'mieux'.
Encore une fois, tu m'as lu de travers et tu m'attribues des paroles qui
ne sont *pas*, n'ont jamais et ne seront jamais les miennes.
J'ai jamais dit 'mieux' ni recommandé de l'utiliser, relis moi *mieux*,
j'ai dit :
<cite>
new Array() est transformable à volonté par []
</cite>
Ce qui sous entend bien qu'on peut se servir de l'un ou de l'autre selon
ses besoins et préférences. Et ce n'est pas être abscons que d'indiquer
que ça existe, d'autant plus que la norme, toujours chapitre 11.1.4,
indique bien que la notation est valide. D'autant que tu prétends que ce
n'est pas à recommander, alors je vais te retourner la question. Tu sors
ça d'où que c'est pas recommandé ?
[...]
Pour finir sur le sujet, saches que non, je suis loin d'être persuadé de
détenir une quelconque vérité sur le bon usage de javascript, mais je
suis absolument convaincu du fait que tu ne la détiens pas.
Considère ça
comme une attaque ad hominem si ça te chante, et profites en pour relire
la réponse que tu avais faite à mon message, réponse où tu avais
commencé les hostilités.
Je ne vais pas répondre dans le fil, ça serait indigeste, mais reprendre
quelques points et développer.
Mouais évidemment, ça va aider à comprendre c'est certain. D'un autre
côté, ça va te permettre de me préter des paroles qui ne sont pas les
miennes, belle technique.
1) L'OP devait-il utiliser un Array ?
Non !
[...] Toute la problématique est résumé avec ces 3 mots :
"pas nécessairement consécutifs"
Par ailleurs on ne sait pas quelles propriétés spécifiques aux Arrays
sont utilisées. S'il n'y en a aucune, il est alors possible d'utiliser
des Objects mais pourquoi pas un Array qui permettra de connaître très
vite le plus grand identifiant numérique utilisé (mesDonnees.length-1).
Non, ce n'est pas consécutifs, d'après ce qu'il dit il a potentiellement
ceci :
mesDonnees[0] = [];
mesDonnees[1] = [];
mesDonnees[31] = [];
mesDonnees[20] = [];
mesDonnees[8] = [];
alert(mesDonnees.length - 1);
// 31
31 ?!?! Ce n'est pas vrai, tout simplement.
Je remets l'url qui explique bien mieux que moi pourquoi il ne faut
*pas* utiliser un Array() dans ce cas précis puisque tu insistes dans
cette direction qui est fausse, et même pire que fausse, c'est la
direction à ne *pas* prendre :
http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
Ce qu'il a besoin n'est pas un tableau au sens Array() du terme
javascript mais bien un Object().
2) La question de l'OP était : existe-t-il un moyen de parcourir un Array
qui n'est pas 'dense' (qui ne possède pas une valeur pour chaque indice
inférieur à sa propriété length) ?
La réponse est oui, for(p in o) qui énumérera en p les propriétés
énumérables définies de l'objet o.
Oui, ai-je proposé qqchose de différents ?
Et comme tu le dis - l'objet o - alors pourquoi aller utiliser un
Array() quand on parle d'Object() ? On retombe sur le problème
d'utiliser un type incompatible avec le besoin.
var x = new Boolean();
x[0] = 'foo'; x[10] = 'bar'; x[20] = 'foobar';
for ( var i in x ) alert(i);
Ca donne : 0 puis 10 puis 20
Est-ce une raison pour autant d'aller utiliser un Boolean() ? non !
Ceci n'est pas propre aux Arrays mais
à tous les objets JS. Ça présente l'avantage pour les Arrays de ne donner
que les "indices" pour lesquels une valeur est définie. Il donnera
également
les autres propriétés qu'on aura pu ajouter à l'objet Array... Se servir
dans les Arrays des méthodes et opérateurs définis pour les Objects c'est
prévu. Et ce n'est pas un miracle, c'est de la programmation orientée
objet -- enfin, tu dois le savoir.
Ah, et depuis quand javascript est orienté objet ?
C'est un langage
prototypé, pas du tout objet dans le sens OOP qu'on peut trouver en php
par exemple. Faire l'amalgamme n'est pas aider le lecteur.
3) [...]
Tout ce que tu as dit là n'ajoute rien au débat. C'est attaque personnelle
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
Lol, comme si c'était le seul "argument" que j'avais énoncé. Et quand tu
me demandes les différences et que je réponds "presque aucune". Est-ce
que tu comprends autre chose ? Encore une fois, tant pis.
Pour ces notations abrégées de l'initialisation d'un Array ou Object,
la norme ECMA262 emploie l'expression Array Initialiser :
Oui, chapitre 11.1.4 et appendice A.3, où la norme parle d'expression.
<snip>
Dans un cas on fait appel explicitement au constructeur, dans l'autre
c'est implicite.
Et ? Si je te suis bien et en appliquant ton raisonnement (explicite vs
implicite) à tous les types existants en javascript, tu prétends que
var x = new String('foo');
serait à conseiller au dépend de
var x = 'foo';
Les deux existent, alors pourquoi prétendre que pour le type tableau
(Array) la notation courte est à proscrire. J'ai juste énoncé le fait
que ça existait, pas que c'était préférable, simplement que ça existait.
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander. On se sert de
l'un ou l'autre selon ses besoins et préférences -- et ce n'est pas
parce qu'un script est abscons qu'il est forcément 'mieux'.
Encore une fois, tu m'as lu de travers et tu m'attribues des paroles qui
ne sont *pas*, n'ont jamais et ne seront jamais les miennes.
J'ai jamais dit 'mieux' ni recommandé de l'utiliser, relis moi *mieux*,
j'ai dit :
<cite>
new Array() est transformable à volonté par []
</cite>
Ce qui sous entend bien qu'on peut se servir de l'un ou de l'autre selon
ses besoins et préférences. Et ce n'est pas être abscons que d'indiquer
que ça existe, d'autant plus que la norme, toujours chapitre 11.1.4,
indique bien que la notation est valide. D'autant que tu prétends que ce
n'est pas à recommander, alors je vais te retourner la question. Tu sors
ça d'où que c'est pas recommandé ?
[...]
Pour finir sur le sujet, saches que non, je suis loin d'être persuadé de
détenir une quelconque vérité sur le bon usage de javascript, mais je
suis absolument convaincu du fait que tu ne la détiens pas.
Considère ça
comme une attaque ad hominem si ça te chante, et profites en pour relire
la réponse que tu avais faite à mon message, réponse où tu avais
commencé les hostilités.
Je ne vais pas répondre dans le fil, ça serait indigeste, mais reprendre
quelques points et développer.
Mouais évidemment, ça va aider à comprendre c'est certain. D'un autre
côté, ça va te permettre de me préter des paroles qui ne sont pas les
miennes, belle technique.
1) L'OP devait-il utiliser un Array ?
Non !
[...] Toute la problématique est résumé avec ces 3 mots :
"pas nécessairement consécutifs"
Par ailleurs on ne sait pas quelles propriétés spécifiques aux Arrays
sont utilisées. S'il n'y en a aucune, il est alors possible d'utiliser
des Objects mais pourquoi pas un Array qui permettra de connaître très
vite le plus grand identifiant numérique utilisé (mesDonnees.length-1).
Non, ce n'est pas consécutifs, d'après ce qu'il dit il a potentiellement
ceci :
mesDonnees[0] = [];
mesDonnees[1] = [];
mesDonnees[31] = [];
mesDonnees[20] = [];
mesDonnees[8] = [];
alert(mesDonnees.length - 1);
// 31
31 ?!?! Ce n'est pas vrai, tout simplement.
Je remets l'url qui explique bien mieux que moi pourquoi il ne faut
*pas* utiliser un Array() dans ce cas précis puisque tu insistes dans
cette direction qui est fausse, et même pire que fausse, c'est la
direction à ne *pas* prendre :
http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
Ce qu'il a besoin n'est pas un tableau au sens Array() du terme
javascript mais bien un Object().
2) La question de l'OP était : existe-t-il un moyen de parcourir un Array
qui n'est pas 'dense' (qui ne possède pas une valeur pour chaque indice
inférieur à sa propriété length) ?
La réponse est oui, for(p in o) qui énumérera en p les propriétés
énumérables définies de l'objet o.
Oui, ai-je proposé qqchose de différents ?
Et comme tu le dis - l'objet o - alors pourquoi aller utiliser un
Array() quand on parle d'Object() ? On retombe sur le problème
d'utiliser un type incompatible avec le besoin.
var x = new Boolean();
x[0] = 'foo'; x[10] = 'bar'; x[20] = 'foobar';
for ( var i in x ) alert(i);
Ca donne : 0 puis 10 puis 20
Est-ce une raison pour autant d'aller utiliser un Boolean() ? non !
Ceci n'est pas propre aux Arrays mais
à tous les objets JS. Ça présente l'avantage pour les Arrays de ne donner
que les "indices" pour lesquels une valeur est définie. Il donnera
également
les autres propriétés qu'on aura pu ajouter à l'objet Array... Se servir
dans les Arrays des méthodes et opérateurs définis pour les Objects c'est
prévu. Et ce n'est pas un miracle, c'est de la programmation orientée
objet -- enfin, tu dois le savoir.
Ah, et depuis quand javascript est orienté objet ?
C'est un langage
prototypé, pas du tout objet dans le sens OOP qu'on peut trouver en php
par exemple. Faire l'amalgamme n'est pas aider le lecteur.
3) [...]
Tout ce que tu as dit là n'ajoute rien au débat. C'est attaque personnelle
4) Ce que tu appelles "notation courte" versus "notations d'un âge
antidéluvien" (quel argument !)
Lol, comme si c'était le seul "argument" que j'avais énoncé. Et quand tu
me demandes les différences et que je réponds "presque aucune". Est-ce
que tu comprends autre chose ? Encore une fois, tant pis.Pour ces notations abrégées de l'initialisation d'un Array ou Object,
la norme ECMA262 emploie l'expression Array Initialiser :
Oui, chapitre 11.1.4 et appendice A.3, où la norme parle d'expression.
<snip>Dans un cas on fait appel explicitement au constructeur, dans l'autre
c'est implicite.
Et ? Si je te suis bien et en appliquant ton raisonnement (explicite vs
implicite) à tous les types existants en javascript, tu prétends que
var x = new String('foo');
serait à conseiller au dépend de
var x = 'foo';
Les deux existent, alors pourquoi prétendre que pour le type tableau
(Array) la notation courte est à proscrire. J'ai juste énoncé le fait
que ça existait, pas que c'était préférable, simplement que ça existait.
Tu peux donc trouver cela très pratique mais ce n'est qu'une facilité
d'écriture et n'est pas particulièrement à recommander. On se sert de
l'un ou l'autre selon ses besoins et préférences -- et ce n'est pas
parce qu'un script est abscons qu'il est forcément 'mieux'.
Encore une fois, tu m'as lu de travers et tu m'attribues des paroles qui
ne sont *pas*, n'ont jamais et ne seront jamais les miennes.
J'ai jamais dit 'mieux' ni recommandé de l'utiliser, relis moi *mieux*,
j'ai dit :
<cite>
new Array() est transformable à volonté par []
</cite>
Ce qui sous entend bien qu'on peut se servir de l'un ou de l'autre selon
ses besoins et préférences. Et ce n'est pas être abscons que d'indiquer
que ça existe, d'autant plus que la norme, toujours chapitre 11.1.4,
indique bien que la notation est valide. D'autant que tu prétends que ce
n'est pas à recommander, alors je vais te retourner la question. Tu sors
ça d'où que c'est pas recommandé ?
[...]
Pour finir sur le sujet, saches que non, je suis loin d'être persuadé de
détenir une quelconque vérité sur le bon usage de javascript, mais je
suis absolument convaincu du fait que tu ne la détiens pas.
Considère ça
comme une attaque ad hominem si ça te chante, et profites en pour relire
la réponse que tu avais faite à mon message, réponse où tu avais
commencé les hostilités.
J'interviens encore une fois sur le sujet...
J'interviens encore une fois sur le sujet...
J'interviens encore une fois sur le sujet...
J'interviens encore une fois sur le sujet...
T'aurais mieux fait de t'abstenir,
[...]
Adieu.
J'interviens encore une fois sur le sujet...
T'aurais mieux fait de t'abstenir,
[...]
Adieu.
J'interviens encore une fois sur le sujet...
T'aurais mieux fait de t'abstenir,
[...]
Adieu.
T'aurais mieux fait de
T'aurais mieux fait de
T'aurais mieux fait de
a) Une bizarrerie remarquée (bug ?). Quand on crée un Array non
densément peuplé -- ce qui se fait très bien avec la notation cou rte
mais pas avec le constructeur -- comme par exemple :
var t = ['A',,,'B'];
for (var i in t) document.write(i + ' -> ' + t[i] + '<br>');
On obtient le résultat escompté avec IE et Op :
0 -> A
3 -> B
mais Firefox 2.0b2 répond
0 -> A
1 -> undefined
2 -> undefined
3 -> B
a) Une bizarrerie remarquée (bug ?). Quand on crée un Array non
densément peuplé -- ce qui se fait très bien avec la notation cou rte
mais pas avec le constructeur -- comme par exemple :
var t = ['A',,,'B'];
for (var i in t) document.write(i + ' -> ' + t[i] + '<br>');
On obtient le résultat escompté avec IE et Op :
0 -> A
3 -> B
mais Firefox 2.0b2 répond
0 -> A
1 -> undefined
2 -> undefined
3 -> B
a) Une bizarrerie remarquée (bug ?). Quand on crée un Array non
densément peuplé -- ce qui se fait très bien avec la notation cou rte
mais pas avec le constructeur -- comme par exemple :
var t = ['A',,,'B'];
for (var i in t) document.write(i + ' -> ' + t[i] + '<br>');
On obtient le résultat escompté avec IE et Op :
0 -> A
3 -> B
mais Firefox 2.0b2 répond
0 -> A
1 -> undefined
2 -> undefined
3 -> B