Avatar billede henryvest Nybegynder
07. september 2001 - 15:08 Der er 28 kommentarer og
1 løsning

undefined og Internet Explorer

Jeg har et lille Javascript, hvor en værdi skal skrives ud såfremt den er defineret. Noget a la

<script language=\"javascript\">
x=100;
if(x != undefined)
document.writeln(x);
</script>

Det virker fint i Netscape, men i IE for jeg en fejl der siger \" \'undefined\' is undefined \". Øh..jo. Nogen der kan løse det problem?
Avatar billede jakoba Nybegynder
07. september 2001 - 15:13 #1
lav din if setning om:

if ( !x )

mvh JakobA
Avatar billede jakoba Nybegynder
07. september 2001 - 15:15 #2
eller ( sikrere, men det fylder )

if ( typeof( x ) = \"undefined\" )

mvh JakobA
Avatar billede jakoba Nybegynder
07. september 2001 - 15:16 #3
Gahh.  ikke  =  men  ==  i sammenligning
Avatar billede Slettet bruger
07. september 2001 - 15:20 #4
jakoba>> Er du sikker på if (!x) virker? Jeg synes, jeg har prøvet det før, men så tackler IE det som om \"x\" skal være false, og da den ikke kan finde \"x\", så melder den fejl...?
Avatar billede jakoba Nybegynder
07. september 2001 - 15:35 #5
phoenixv >> Jeg kan kun garantere fpr NS4 og IE4, men der er det ok. (men giver evt fejl hvis x er en defineret boolean værdi)
Avatar billede olebole Juniormester
07. september 2001 - 22:30 #6
<ole>
Hmmmmm....burde spørgerens eget script egentlig ikke virke, hvis bare der blev sat gåseøjne om \"undefined\" - eller skal jeg bare blive en gammel hat fattigere og en dårlig mave rigere...?!?!  =oD
/mvh
</bole>
Avatar billede jakoba Nybegynder
07. september 2001 - 22:59 #7
olebole >> Jo for pokker. Du må finde på noget andet til natmad :-))
Avatar billede olebole Juniormester
07. september 2001 - 23:07 #8
Damned....så skal den *igen* stå på østers, kaviar og champagne!  :oP
Avatar billede roenving Novice
07. september 2001 - 23:09 #9
En fredag aften, ka du da virkli ik finde på andet <=;·]
Avatar billede olebole Juniormester
07. september 2001 - 23:11 #10
Jojo...hun spiser forhåbentlig med  :)
Avatar billede roenving Novice
07. september 2001 - 23:18 #11
8---<===
Avatar billede olebole Juniormester
07. september 2001 - 23:20 #12
Ak ja....var det bare sådan!.......Men det lød zq da meget godt!  *LooOooL*
Avatar billede jakoba Nybegynder
07. september 2001 - 23:21 #13
olebole >>
Jeg haved lige lavet en testside om (!x) versus ( typeof(x)==\'undefined\' ) så jeg udvidede den med ( x != \'undefined\' ).
Kan du finde fejlen i testen? eller en lille velsmagende hat?
http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp106898.html
He He

mvh JakobA
Avatar billede roenving Novice
07. september 2001 - 23:31 #14
>>jakoba
Tror du ikke ole har brug for en høj hat
Avatar billede jakoba Nybegynder
07. september 2001 - 23:31 #15
roenving >> hoved?
Avatar billede roenving Novice
07. september 2001 - 23:35 #16
Nej, jeg tænkte ik\' det var nødvendigt med det udgangspunkt, som var implicit i oles udsagn
Avatar billede olebole Juniormester
07. september 2001 - 23:44 #17
Hmmmmm.....ja, jakoba en fejl laver du jo! Ikke at den er til min - eller min hovedbeklædnings - fordel, men din test holder ikke i \'risretten\'  =o)

Hvis du uden et \'x\' i nærheden skriver:

<script language=\"JavaScript\">
  if (x!=\'undefined\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');
</script>

Så kløjs IE5.0 - som desværre er den eneste browser på denne maskine - så grundigt i det, at alt efterfølgende JS bliver ignoreret! Det betyder i hvert fald, at denne ikke gælder:
  ( x != \'undefined\' ) er true
/mvh
Avatar billede roenving Novice
07. september 2001 - 23:49 #18
Hrmmm ...

Reddes den så måske af en
<script language=\"JavaScript\">
  if (!x || x!=\'undefined\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');
</script>

den må lige testes -- secundo minuto
Avatar billede roenving Novice
07. september 2001 - 23:54 #19
Næeh ...
heller ikke 5.5 købte den, så skal vi vist ud i de ekstraordinære et eller andet ??-)
Avatar billede olebole Juniormester
07. september 2001 - 23:57 #20
if (x!=\'null\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');
Vil holde i den situation........*tror* jeg  :)
Avatar billede roenving Novice
08. september 2001 - 00:05 #21
Nope -- men nu kommer der dog ingen fejl-symboler !!·|
Avatar billede roenving Novice
08. september 2001 - 00:06 #22
Ps. Testede den med:

<html>
<script language=\"JavaScript\">
  if (x!=\'null\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');

if (x!=\'null\' || !x || x!=\'undefined\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');
</script>
</html>
Avatar billede olebole Juniormester
08. september 2001 - 00:08 #23
Den må *ikke* sige noget...vi siger jo netop: \"Hvis x er forskellig fra \'null\' - så sig...\".
Ellers skal du sige:

if (x!=\'null\') alert(\'Skal han \\346de sin hat - eller servere seafood for silden?\');
else alert(\'Denne skulle sige noget!\');
Avatar billede olebole Juniormester
08. september 2001 - 00:11 #24
Nope...! Nu har jeg selv testet. NU skal olebole sendes i seng *uden* natmad - det skarn...!!!
/mvh
Avatar billede henryvest Nybegynder
08. september 2001 - 00:12 #25
Jamen, det virker jo, endda begge forslag. Takker for svaret.
Avatar billede roenving Novice
08. september 2001 - 00:13 #26
Ingen fejlmeddelelse og resten af scriptet bliver ignoreret -- bare lige for at prøve det så lavede jeg det om til null uden apostroffer, så kom fejlmeddelelses-ikonet tilbage !!
Avatar billede jakoba Nybegynder
08. september 2001 - 00:28 #27
Hmmm...

i IE4 giver
if ( x==\'undefined\' || x!=\'undefined\' ) {
    alert( \"( x==\'undefined\' || x!=\'undefined\' ) giver altid sand \" );
    alert( \"x.toString er \" +x.toString() );
} else {
    alert(\'Denne skulle ikke sige noget!\');
}

fejl på  x.toString() (ikke et objekt) men ikke på betingelsen

gad vidst hvad ECMA egentlig siger.

mvh JakobA
Avatar billede olebole Juniormester
08. september 2001 - 14:50 #28
jakoba/roenving >> Jeg har aldrig ment, der var så store problemer på dette punkt. Det viser sig jo nu, at man risikerer at sætte sig på komfuret i en hel del special tilfælde. Det kan *nok* være, det er et emne, der er værd at kikke nærmere på!
Tak, for disputten  :)

henryvest >> Undskyld, vi øjensynligt spammede dit spm. med ligegyldigheder - men det er faktisk temmelig vigtige \'små\' bugs i forhold til sprogets standardisering og anvendelighed!
Tak, for tålmodigheden  :)
/mvh
Avatar billede roenving Novice
08. september 2001 - 14:52 #29
>>ole/henryvest
ditto
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester