Javascript 如何创建未定义的错误,但在错误控制台中以静默方式传递
我正在我的活动日历(wordpress)中使用jquery resize。除了日历/列表按钮的一些JS问题外,大多数东西都正常工作 以下是jQuery resize js中的代码-Javascript 如何创建未定义的错误,但在错误控制台中以静默方式传递,javascript,jquery,undefined,Javascript,Jquery,Undefined,我正在我的活动日历(wordpress)中使用jquery resize。除了日历/列表按钮的一些JS问题外,大多数东西都正常工作 以下是jQuery resize js中的代码- add: function (l) { if (!e[f] && this[k]) { return false } var n; function m(s, o, p) { va
add: function (l) {
if (!e[f] && this[k]) {
return false
}
var n;
function m(s, o, p) {
var q = $(this),
r = $.data(this, d); // working correctly in terms of functionality if r = undefined;
r.w = o !== c ? o : q.width();
r.h = p !== c ? p : q.height();
n.apply(this, arguments)
}
if ($.isFunction(l)) {
n = l;
return m
} else {
n = l.handler;
l.handler = m
}
}
如果我传递的是r=undefined
而不是$.data(this,d)
,我的应用程序工作顺利,但在firebug控制台中出错。
我怎样才能悄悄地传递这个错误,以便在将r定义为未定义后,它不会在控制台中传递错误。您可以使用try-and-catch
try{
}catch(e){
}
像这样(没有添加jQuery)。因为jQuery没有添加到这个JSFIDLE示例中,所以它应该在控制台中抛出一个错误,但是它没有,因为它在一个try-and-catch块中。我建议在继续之前检查
r
是否未定义
function m(s, o, p) {
var q = $(this),
r = $.data(this, d); // working correctly in terms of functionality if r = undefined;
if (!r) return undefined;
r.w = o !== c ? o : q.width();
r.h = p !== c ? p : q.height();
n.apply(this, arguments)
}
您可以检查
m
的返回值,这样您就可以捕获未定义的r
。thx以获取响应。我已经对其进行了投票。但很抱歉,接受时间太晚:)无需担心-很高兴提供帮助:)