jonas@delfs.dk writes:
> [Man kan tilsyneladende ikke quote i google groups? - beklager!]
<URL:
http://www.safalra.com/special/googlegroupsreply/>
> onclick="javascript:check(this.form.box);" /><br />
....
Man behøver ikke skrive "javascript:" foran i en onclick-handler.
Det gør, tilfældigvis, ikke noget (det bliver til en label).
(Og man bør ikke bruge links med href="javascript:...", så generelt
skal man aldrig skrive "javascript:" :)
> fint, men hvis jeg ændrer navnet til box[] de 3 steder, virker det
> ikke længere. Jeg har også prøvet at escape [ og ] som foreslået,
> men uden held?
Javascript har to syntakser for at tilgå egenskaber på et objekt:
"dot"-notation og "firkantet parentes"-notation. Den mest generelle
er den sidste:
objektudtryk[strengudtryk]
Her evalueres objektudtryk til et objekt og strengudtryk til en streng,
og så bliver det til et udtryk for egenskaben med det navn der står
i strengen.
Eksempel:
var objekt = new Objekt();
objekt["navn!"] = "Hans!";
objekt["tids" + "punkt"] = new Date();
alert(objekt["navn!"]);
alert(objekt["tid" + "spu" + "nkt"]);
Hvis egenskabens navn kunne bruges som en variabel (er en "identifier",
i.e., starter med _, $, eller et bogstav og fortsætter med samme eller
cifre) så kan man bruge dot-notationen:
// alert(objekt.navn!) // fejl. egenskabens navn er ikke en identifier
alert(objekt.tidspunkt); // virker
For at kunne bruge dot-notation skal egenskabens navn være en identifier,
*og* man skal kende den på det tidspunkt hvor man skriver koden.
Følgende tildelinger kan man heller ikke gøre med dot-notation:
for(var i = 0; i < 10; i++) {
objekt["prop"+i] = i * i; // "beregnet" egenskabsnavn
}
alert(objekt.prop4); // alerter 16.
Hyg!
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'