webForumDet fria alternativet

Actionscript fråga

Flash

1 svar · 328 visningar · startad av Stig

Medlem sedan dec. 2001146 inlägg
Frågan#1

Vad betyder det om man sätter något inom hakparanteser, eller varför gör man det. Så här tex.

_root["ant"+a] = 0;

Medlem sedan maj 2003750 inlägg
#2

Det brukar kallas för "associative array" eller "array-notation" och är en metod för att dynamiskt ange sökvägen till en variabel eller ett objekt.

Så detta:

var a = 1;
_root["ant" + a] = 0;

... är detsamma som:

_root.ant1 = 0;

Fördelen är att du måste inte på förhand veta det exakta namnet på det objekt du vill påverka/läsa av. Utan kan plocka ihop under runtime utifrån värden i variabler etc.

Vill du göra detta på flera nivåer måste du använda flera hakparenteser. Precis som med flerdimensionella array:er:

Detta:

var a = 1
var b = 2
_root["a" + a]["b" + b] = 1;

Är detsamma som:

_root.a1.b2 = 1;

/Mirandir

267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)