/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Tjek for undefined objekt (javascript)
Fra : :o\)


Dato : 01-04-03 15:19

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?

/ Ole



 
 
Lasse Reichstein Nie~ (01-04-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 01-04-03 15:27

":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.'

:o\) (01-04-2003)
Kommentar
Fra : :o\)


Dato : 01-04-03 16:35

> if (!myObj) ...


Tak for det hurtige, uddybende og behjælpsomme svar.
Nu kører det på skinner.





Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste