如何检查功能是否可以运行?

时间:2012-09-07 16:06:37

标签: javascript jquery

我正在调用这样的函数:

$.myFunction

根据用户可能拥有函数所在的.js文件的版本,该函数可能无法成功调用,因为它不存在。如果此函数未运行,我只想忽略抛出的任何错误并继续执行。一种解决方法是将函数包装在try / catch:

try {
$.myFunction
}
catch(e){
}

但是以这种方式使用try / catch似乎是不好的做法。是否有jQuery / javascript方法在运行之前检查函数是否存在?

3 个答案:

答案 0 :(得分:1)

在致电之前检查:

typeof $.myFunction == 'function' && $.myFunction();

通常有条件地声明函数:

$.myFunction = $.myFunction || function () { ... };

答案 1 :(得分:0)

我假设您正在调用该函数

$.myFunction();

您可以测试

if ($.myFunction) {

但是在图书馆必须这样做有点奇怪。你不是自己包括它吗?尝试使用任何版本的lib就像它完整一样似乎很危险。

答案 2 :(得分:0)

您可以使用jQuery函数:$.isFunction

if($.isFunction($.myFunction)) {
    // it exists and it is function
}