我正在调用这样的函数:
$.myFunction
根据用户可能拥有函数所在的.js文件的版本,该函数可能无法成功调用,因为它不存在。如果此函数未运行,我只想忽略抛出的任何错误并继续执行。一种解决方法是将函数包装在try / catch:
中try {
$.myFunction
}
catch(e){
}
但是以这种方式使用try / catch似乎是不好的做法。是否有jQuery / javascript方法在运行之前检查函数是否存在?
答案 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
}