如何检查函数是否将运行或可用

How to check if function will run or is available?

本文关键字:运行 是否 函数 何检查 检查      更新时间:2023-09-26

我正在调用这样的函数:

$.myFunction

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

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

但对我来说,用这种方式尝试/接球似乎是不好的做法。在运行函数之前,是否有jQuery/javascript方法来检查函数是否存在?

调用前进行检查:

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

有条件地声明函数也是很常见的:

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

我假设您将函数调用为

$.myFunction();

您可以测试

if ($.myFunction) {

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

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

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