如何判断JavaScript中的函数是否已定义?

我想做这样的事情

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

但是它得到了一个

回调不是函数

未定义回调时发生错误。


当前回答

如果你使用http://underscorejs.org,你有: http://underscorejs.org/#isFunction

_.isFunction(callback);

其他回答

我建议以下功能:

function isFunction(name) {
    return eval(`typeof ${name} === typeof Function`);
}
function something_cool(text, callback){
    alert(text);
    if(typeof(callback)=='function'){ 
        callback(); 
    };
}

Try:

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

如果你使用http://underscorejs.org,你有: http://underscorejs.org/#isFunction

_.isFunction(callback);