如何检查函数是否将运行或可用
How to check if function will run or is available?
我正在调用这样的函数:
$.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
}
相关文章:
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 如何检查函数是否将运行或可用
- 检查在使用节点运行程序时是否给出ARGV
- 检查grunt是否在详细模式下运行
- 是否可以从javascript文件中将量角器作为模块运行
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 是否可以在node.js依赖项上运行脚本
- stopPropagation是否还会阻止同一元素上的其他处理程序运行
- 什么决定了 Node.js 应用是否保持运行
- 是否可以从在Firefox或IE的网页中运行的Javascript启动Windows进程
- 是否可以从 Firefox 运行 bash 脚本?(使用 Firefox 附加组件 SDK)
- 什么更快?运行空函数或检查函数是否未定义
- 在运行Javascript/jQuery中的函数之前,检查元素是否存在是否更具性能
- 是否有一个Javascript函数可以使代码在运行时延迟
- 将函数分配给javascript中的变量是否运行该函数
- 在不重新运行jquery验证的情况下检查表单是否有效
- 是否可以让一个onlick在javascript中一个接一个地运行不同的函数
- 检查运行到CORS的图像是否存在
- 随着时间的推移,JavaScript 的 setInterval() 方法运行是否会消耗明显的处理能力
- 焦点在单击/更改单选按钮之前运行.是否可以在焦点之前运行单击/更改