Hallo,
Sofern die "einfache" Abfrage nicht geht (s. Cheatah), kann man mit typeof() abfragen: if(typeof(Tab)=="undefined) ...
Also doch lieber gleich diese Variante oder?
Noch einfacher ist:
Tab = this.Tab || [];
Denn Cheatah hat ja das entscheidende genannt:
dass Eigenschaften eines (existierenden) Objektes immer existieren und im Zweifel halt nur undefined sind.
und
dass (globale) Variablen immer Eigenschaften des window-Objektes sind.
Du musst also nur deine evtl. undefinierte Variable als Eigenschaft des gewünschten Objekts, z.B. des this-Objekts, notieren.
Der Default-Operator || sorgt dafür, dass, falls die Variable undefiniert ist, das neue Array oder was immer du haben willst, zugewiesen wird – [] ist synonym mit new Array(), {} mit new Object().
Eine andere Variante wäre noch:
try{!Tab}catch(e){if(e)this.Tab=[]}
Die ist aber dagegen recht umständlich.
Gruß, Don P