Hallo,
typeof sollte das können.
Alternativ kann man dies auch direkt abfragen:
if (foo != undefined) {
// Code
}
Nee, das ist was ganz anderes.
Das Keyword undefined bedeutet, dass eine Variable mit einem var-Statement formal deklariert wurde, ohne ihr einen Wert zuzuweisen.
~~~javascript
var foo;
alert(foo == undefined);
Äquivalent ist die Deklaration in einer Funktions-Parameterliste, ohne dass ein solcher Parameter übergeben wird:
function func (foo) {
alert(foo == undefined);
}
func();
In allen anderen Fällen kann man das undefined-Keyword vergessen.
Einfach if (foo == undefined) führt zu einem JavaScript-Fehler, der das Programm abbricht (übrigens keine »Warnung«).
Mathias