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.

4voto

ConroyP Punkte 39832
function something_cool(text, callback){
    alert(text);
    if(typeof(callback)=='function'){ 
        callback(); 
    };
}

3voto

Brian Punkte 3317

Versuchen Sie es:

if (!(typeof(callback)=='undefined')) {...}

2voto

eWolf Punkte 3473

Versuchen Sie dies:

callback instanceof Function

2voto

Sudheer Aedama Punkte 2008

Wenn Sie http://underscorejs.org haben Sie: http://underscorejs.org/#isFunction

_.isFunction(callback);

2voto

VentyCZ Punkte 51

Wenn Sie sich die Quelle der Bibliothek, die @Venkat Sudheer Reddy Aedama erwähnt hat, underscorejs, können Sie dies sehen:

_.isFunction = function(obj) {
  return typeof obj == 'function' || false;
};

Dies ist nur meine TIPP, TIPP Antwort :>

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