Javascript 如何创建未定义的错误,但在错误控制台中以静默方式传递

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

我正在我的活动日历(wordpress)中使用jquery resize。除了日历/列表按钮的一些JS问题外,大多数东西都正常工作

以下是jQuery resize js中的代码-

    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以获取响应。我已经对其进行了投票。但很抱歉,接受时间太晚:)无需担心-很高兴提供帮助:)