":o\)" <p_ole@mobilixnet.nospam.dk> writes:
> Hej NG
> JavaScript:
> Hvordan tjekker jeg for, om et objekt er udefineret, inden jeg begynder at
> arbejde med objektet?
>
> Jeg har prøvet den med at sammenligne med stringen 'undefined', og den går
> godt på flere maskiner, men ikke alle. Findes der ikke en general
> funktion/metode?
Sammenlign med værdien "undefined", ikke stregnen "'undefined'".
Altså:
if (myObj == undefined) ...
Alternativt kan du tjekke typen af objektet, som skal være strengen
"undefined":
if (typeof myObj == "undefined")
men det er ikke bedre end at tjekke direkte (værdien undefined er
den eneste hvis type er strengen "undefined").
Pas dog på at nogle objekter er "null". Dem kan man heller ikke bruge.
De har værdien null og typen "object".
I praksis er det nemmeste blot at konvertere objektet til en boolean.
if (!Boolean(myObj)) ...
da både undefined og null bliver lavet til false, mens alle "rigtige"
objekter bliver true. Det er overkill at burge funktionen Boolean da
negation (!) laver sit argument om til en boolean, og selv uden den,
så bliver betingelsen i en if-statement altid bliver lavet om til
boolean alligevel. Altså:
if (!myObj) ...
er den korteste måde at tjekke om ens objekt findes. Det virker dog
kun ved objekter, og ikke ved strenge eller tal, da tallet nul, "tallet"
NaN (not a number) og den tomme streng alle bliver lavet om til false.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:
http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'