Window Object
bearbeitet von
Einen wunderschönen Nachmittag zusammen,
Ich hätte da gern einmal Zwei Fragen zu dem window object.
Zum einen: Das window object enthält sich selbst unter `window.self` und zusätzlich unter `window.window`, dies lässt sich mindestens 5 mal fortsetzen also `window.self.self.self.self.self`. Warum enthält sich das Objekt selbst und dann auch noch doppelt, sowie in so vielen Ebenen?
Dies ist mir aufgefallen, da ich eine Funktion gesucht habe, die ich ausführen möchte, wobei ich nur dessen Name als String vorliegen habe. Dazu folgendes:
~~~JavaScript
$(function(){
function foo() {
//Do something
}
function bar() {
//Do something
}
window['bar']();
}
function foobar(){}
~~~
~~Jetzt ist mir im window object aufgefallen das `window.foo` existiert aber nicht `window.bar`. Schon dies allein verwirrt mich. ~~ Korrektur: `window.foo` sowie `window.bar` sind nicht existent. Alle Funktionen welche nicht in der `ready` Methode stehen, wie `foobar()`, sind ebenfalls alle im window objekt verfügbar. Also suche ich weiter finde aber nicht unter welcher Eigenschaft ich die Methoden `foo` und `bar` finde. Hätte da Jemand einen Tipp für mich?
Gruß
Jo
Window Object
bearbeitet von
Einen wunderschönen Nachmittag zusammen,
Ich hätte da gern einmal Zwei Fragen zu dem window object.
Zum einen: Das window object enthält sich selbst unter `window.self` und zusätzlich unter `window.window`, dies lässt sich mindestens 5 mal fortsetzen also `window.self.self.self.self.self`. Warum enthält sich das Objekt selbst und dann auch noch doppelt, sowie in so vielen Ebenen?
Dies ist mir aufgefallen, da ich eine Funktion gesucht habe, die ich ausführen möchte, wobei ich nur dessen Name als String vorliegen habe. Dazu folgendes:
~~~JavaScript
$(function(){
function foo() {
//Do something
}
function bar() {
//Do something
}
window['bar']();
}
function foobar(){}
~~~
Jetzt ist mir im window object aufgefallen das `window.foo` existiert aber nicht `window.bar`. Schon dies allein verwirrt mich. Alle Funktionen welche nicht in der `ready` Methode stehen, wie `foobar()`, sind ebenfalls alle im window objekt verfügbar. Also suche ich weiter finde aber nicht unter welcher Eigenschaft ich die Methoden `foo` und `bar` finde. Hätte da Jemand einen Tipp für mich?
Gruß
Jo