Cybaer: Abfragen ob ein Objekt existiert

Beitrag lesen

Hi,

Wieso das denn? Der ||-Operator existiert meines Wissens unverändert seit der Erfindung von JavaScript, ebenso die literale Notation von Arrays.

Ich *glaube*, daß die literale Notation erst später kam. Ich wollte es immer mal überprüfen (und wenn ja: ab welcher Version), bin aber nie dazu gekommen ... :)

Das stimmt natürlich. Ist aber im genannten Beispiel (OP) bekannt, und man weiß ja beim coden, worauf es sich bezieht, bzw. sollte es immer wissen.

Eben, genau das *sollte* man! Wie bei der Kurzform ja (eigentlich) auch. :)

stimmt offensichtlich nicht. Es müsste richtig heißen, dass (globale) Variablen immer Eigenschaften des window-Objektes *werden*, wenn man sie zum ersten mal als lvalue in ein einer Zuweisung verwendet.

var myGlobalVar; ist keine Zuweisung.

'undefined' sehe ich auch als Wert an, und es wäre mir wesentlich lieber, wenn Cheatah da recht hätte und undefinierte Variablen keinen Fehler auslösten, wenn man sie undeklariert verarbeiten will. Oder ist es am Ende gar kein javascript-Fehler, sondern nur einer von FireBug, der das zu unrecht als Fehler ansieht?

? Ich sehe kein Fehlverhalten - auch nicht im FireBug:

if(!myGlobalVar) { alert("myGlobalVar is not defined!"); }  

~~~ erzeugt einen Fehler (egal ob FireBug oder nicht).  
  
`if(!window.myGlobalVar) { alert("myGlobalVar is not defined!"); }`{:.language-javascript} hingegen funktioniert wie fehlerfrei.  
  
  
Gruß, Cybaer  

-- 
Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)  
  
Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)