Hallo,
Das führt dazu, dass das halt so aussieht:
if (typeof config == 'undefined') {
var config = new Array();
}
config.id123 = 'foo';
Erstens suchst du hier ein einfaches Objekt, also new Object() oder einfach {}.
Arrays sind auch Objekte, also kannst du ihnen auch Eigenschaften anhängen, was du hier tust. Das gilt aber genauso für, sagen wie, Date und RegExp. <http://de.selfhtml.org/javascript/objekte/array.htm#assoziative_arrays@title=Assoziative Arrays> gibt es in JavaScript nicht. Die wirkliche Funktionalität von Arrays nutzt du hier aber nicht. Arrays haben immer numerische Indizes. Dedizierte Hashes gibt es in JavaScript nicht, dafür gibt es Object. Die kannst du mit for-in anstelle einer normalen for-Schleife durchlaufen. Ein Object hat im Gegensatz zu einem Array keine »length«.
Zweitens, ja, so könnte es aussehen. Ist das schlimm? Ist das problematisch? Erfüllt das nicht den Zweck? Wieso fragst du? ;)
Mathias