错误对象没有方法

时间:2013-09-19 15:11:27

标签: javascript jquery

我的网站根据需要加载动态js文件,例如当前显示的页面。 但是每个页面上的每个页面都会加载所有js库的配置文件。 一些图书馆遗失的时候,一切都运作良好。

脚本在错误行上停止执行。

样品:

$('id').library1({}); //This method doesn't exist

$('id2').library2({}); // This method is not executed

当第一个对象不存在时,如何执行第二个对象方法?

3 个答案:

答案 0 :(得分:0)

您必须捕获错误

try { $('id').library1({}); } catch(e){} 
$('id2').library2({}); 

或在执行之前检查方法是否存在

var elem = $('id');
if (elem.library1) elem.library1({});
$('id2').library2({}); 

答案 1 :(得分:0)

捕获并记录/禁止您收到的第一个错误,以启用第二个和后续调用:

try{
    $('id').library1({});
}
catch(e) { console.log(e); /* capture, log, suppress error. */ }

$('id2').library2({});

答案 2 :(得分:0)

在尝试调用方法之前测试方法是否存在(并触发异常):

if (typeof $.fn.library1 == "function")
    $('id').library1({});
else
    ; // in case the method doesn't exist

// this method is still executed
$('id2').library2({});