Neu in JavaScript Ich bin nicht sicher, ob das Verhalten geändert hat, aber die Lösung von Jason Bunting (vor 6 Jahren) gegeben wird nicht funktionieren, wenn possibleFunction nicht definiert ist.
function isFunction(possibleFunction) {
return (typeof(possibleFunction) == typeof(Function));
}
Dies führt zu einer ReferenceError: possibleFunction is not defined
Fehler, wenn die Maschine versucht, das Symbol possibleFunction aufzulösen (wie in den Kommentaren zu Jasons Antwort erwähnt)
Um dieses Verhalten zu vermeiden, können Sie nur den Namen der Funktion übergeben, die Sie auf ihre Existenz prüfen wollen. Also
var possibleFunction = possibleFunction || {};
if (!isFunction(possibleFunction)) return false;
Dadurch wird eine Variable entweder auf die zu prüfende Funktion oder auf das leere Objekt gesetzt, wenn es nicht definiert ist, wodurch die oben genannten Probleme vermieden werden.