if (window.print) ... den er bare sand hvis print metoden er tilstede, og ellers er den ... lad mig nu se, jeg synes jeg kan huske det, JO, ellers er den falsk.
Erik: Jeg har aldrig set ^P brugt i stedet for Ctrl-P... - Jeg kunne godt regne ud, hvordan if-betingelsen ville opføre sig, jeg synes bare ikke det var logisk - for mig ville det være mere logisk med noget i retning af:
if (IsMethod(window.print)) - hvis det altså fandtes...
Ok - det er nok lidt fundamentalt i JavaScript. Alle objekter, fx window, har attributter. Nogle er den født med, andre kan oprettes. Det er fx fuldt lovligt at skrive
window.tipsen='rar mand';
og så har den pågældende instans af window pludselig en ekstra attribut. Du kan så lave en
alert(window.tipsen);
og få at vide hvad din maskine synes om dig.
Javascript har arvet en sjov ting fra C. Alt hvad der er 0 (ingenting) er falskt, og alt andet er sandt.
Derfor vil if (window.tipsen) nu give dig noget sandt. Ikke så overraskende.¨ Det overraskende er så måske at attributter, der ikke er definerede er tomme, så if (window.erikjacobsen) vil være falsk.
window.print, når den er indbygget, er - meget populært sagt - adressen på funktionen print, og derfor ikke 0. Dermed sand.
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.