350 Stimmen

Wie man feststellt, ob eine JavaScript-Funktion definiert ist

Woran erkennt man, ob eine Funktion in JavaScript definiert ist?

Ich möchte etwas in der Art machen

function something_cool(text, callback) {
    alert(text);
    if( callback != null ) callback();
}

Aber es verschafft mir einen

Callback ist keine Funktion

Fehler, wenn Callback nicht definiert ist.

0voto

Das hat bei mir funktioniert

if( cb && typeof( eval( cb ) ) === "function" ){
    eval( cb + "()" );
}

-1voto

Ich würde eher folgende Funktion vorschlagen:

function isFunction(name) {
    return eval(`typeof ${name} === typeof Function`);
}

-2voto

Samir Alajmovic Punkte 3102

Einzeilige Lösung:

function something_cool(text, callback){
    callback && callback();
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X