tach
ich habe folgenden code:
var fonts = new Array();
function addFont(fontName)
{
alert(fontName);
fonts[fonts.length] = fontName;
alert(fonts[fonts.length])
}
beim ersten alert wird das richtige ausgegeben, beim zweiten kommt "undefined". was läuft da falsch?
Das liegt daran, dass als fonts.length 1 gezählt wird, das erste Arrayelement aber mit 0 bezeichnet wird.
Das dürfte also laufen:
var fonts = new Array();
function addFont(fontName)
{
alert(fontName);
fonts[fonts.length] = fontName;
alert(fonts[(fonts.length-1)])
}
hm jetzt gehts, danke.
Warum ist fonts.length = 1 obwohl doch noch gar kein element im array vorhanden ist?
Ist es ja eben nicht.
Beim ersten Aufruf ist fonts.length=0, also wird fonts[0] gesetzt. xyz-48ach ist fonts.length=1 und dann ergäbe fonts[fonts.length] = fonts[1] = "undefined"