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

我想做这样的事情

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

但是它得到了一个

回调不是函数

未定义回调时发生错误。


当前回答

一行的解决方案:

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

其他回答

typeof callback === "function"

一行的解决方案:

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

Try:

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

我正在寻找如何检查一个jQuery函数是否被定义,我没有找到它很容易。

也许你会需要它;)

if(typeof jQuery.fn.datepicker !== "undefined")