Fonctionnement bizarre de scripting.dictionary avec Array.prototype : Question à 10 €
Bonjour
Je développe en ASP/Jscript et j'ai un drôle de truc :
Si je veux utiliser un dictionary, et lister tout ce qu'il contient, le fonctionnement est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10
|
// Pour l'exemple :
var d=Server.CreateObject("scripting.dictionary")
d.add("a", "Alain");
d.add("b", "Bernard");
d.add("c", "Charles");
var a=(new VBArray(d.Items())).toArray();
for (var i in a)
Response.Write("-" + a[i] + "<br/>") |
L'affichage donnera :
Citation:
-Alain
-Bernard
-Charles
(normal)
Par contre, si j'essaie de prototyper l'objet Array :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// c'est n'importe quoi, juste pour montrer
Array.prototype.popAll=function()
{
while (this.length>0)
{
this.pop();
}
}
Array.prototype.test=function()
{
return this;
} |
La même moulinette que la haut donnera :
Citation:
-function() { return this; }
-function() { while (this.length>0) { this.pop(); } }
-Alain
-Bernard
-Charles
Pourquoi ?:pleure::cfou::koi::koi::ouin::scarymov: