2009-06-23 9 views
1

diesen Code vor:Variablen als Eigenschaften in JavaScript

<script type="text/javascript"> 
    if ('mySuperProperty' in window) 
    { 
    alert(window['mySuperProperty']); 
    } 
    var mySuperProperty = 1; 
</script> 

Zustand in if-Anweisung den Wert true, obwohl mySuperProperty noch nicht festgelegt ist. Warum?

Try it yourself.

stahl ich diese Frage aus http://dfilatov.blogspot.com/2009/04/javascript.html (russisch)

+1

WARUM nicht window.mySuperProperty überprüfen? kürzer und lesbarer imo. – anddoutoi

+0

Ist das in einer Funktion oder einfach in

1

Der Ausdruck „window.mySuperProperty“ überprüft den Wert des mySuperProperty, die zum Zeitpunkt der Warnung undefined

Auf den anderen Seite mySuperProperty in Fenstern hat die mySuperProperty überprüft, ob das Fenster, Dies wird im gesamten Fenster-Namespace überprüft (nachdem jeder Eigenschaftsname festgelegt wurde).

Dafür,

if ('mySuperProperty' in Fenster) gibt true> die Variable existiert, hat aber keinen Wert noch if (window.mySuperProperty) false zurückgibt> undefiniert ist ein Falsy Wert.

Verwandte Themen