Existiert eine Funktion?
Andi
- javascript
Hi Forum!
Gibt es eine Funktion, mit der ich überprüfen kann, ob eine andere Funktion existiert? Ich dachte ich hätte da mal irgendwo eine gesehen... find aber keine! :-(
mfg
Andi
Hallo,
Gibt es eine Funktion, mit der ich überprüfen kann, ob eine andere Funktion existiert? Ich dachte ich hätte da mal irgendwo eine gesehen... find aber keine! :-(
einfach danach fragen
if (document.eigene_funktion)
{
alert('eigene_funktion existiert');
}
else
{
alert('eigene_funktion existiert nicht');
}
Denke mal, dass das so geht
LG
Chris
Hi!
if(document.eigene_funktion)
Hier sollte man beachten, dass eine Funktion, die man einfach so deklariert
function eigene_funktion() {...}
normalerweise Teil des window
-Objekts sind. Somit müsste die Abfrage dann lauten:
if(window.eigene_funktion)
in den meisten Fällen funktioniert es auch einfach so:
if(eigene_funktion)
Hallo Andi.
Gibt es eine Funktion, mit der ich überprüfen kann, ob eine andere Funktion existiert? Ich dachte ich hätte da mal irgendwo eine gesehen... find aber keine! :-(
Wenn:
function foo () {
alert('foo');
}
Dann:
if (window.foo) {
alert('foo() exists.');
}
Das rührt daher, dass neue Funktionen ohne weiteres Zutun der obersten Objektinstanz, dem window-Objekt, zugeordnet werden. Sie stellen dabei eine Funktions-Eigenschaft dar, weshalb hierüber auch ganz einfach ihre Existenz überprüft werden kann.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo.
if (window.foo) {
alert('foo() exists.');
}
Kleine Erweiterung:
~~~javascript
if (window.foo && typeof(window.foo) == 'function') {
alert('foo() exists and is a ' + typeof(window.foo));
}
Eine global deklarierte Variable foo wird ja schließlich ebenfalls dem window-Objekt untergeordnet.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo.
if (window.foo) {
alert('foo() exists.');
}
>
> Kleine Erweiterung:
>
> ~~~javascript
if (window.foo && typeof(window.foo) == 'function') {
> alert('foo() exists and is a ' + typeof(window.foo));
> }
Und nun noch etwas kürzer:
if (typeof(foo) == 'function') {
alert('foo() exists and is a ' + typeof(foo));
}
Wenn keine Eigenschaft foo (weder Variable noch Funktion) deklariert wurde, ergibt typeof(window.foo) sowieso undefined, ist foo keine Funktion, trifft die Bedingung auch nicht zu. (Wurde die Funktion einem bestimmten Objekt zugeordnet, muss dieses natürlich voran gestellt werden.)
Einen schönen Sonntag noch.
Gruß, Ashura
if (typeof(foo) == 'function') {
alert('foo() exists and is a ' + typeof(foo));
}
>
ok, das nenn ich mal ausführlich ;-) danke!
hi,
if (window.foo && typeof(window.foo) == 'function')
Und nun noch etwas kürzer:
if (typeof(foo) == 'function')
Und da typeof ein Operator ist, geht's auch noch etwas kürzer - nämlich ohne die Klammern:
if (typeof foo == 'function')
gruß,
wahsaga