首页 > 在下例js中,如何给arguments加自定义属性

在下例js中,如何给arguments加自定义属性

先做了一个$拓展,代码如下

 $.extend({
        create: function (og) {
            var o = $.extend(og || {}, {
                extend: $.extend
            });
            var jObj = o._jQueryObject = $(o);
            o.extend({
                on: function () {
                    $.fn.on.apply(jObj, arguments);
                    return this;
                },
                .......
            });
            return o;
        }
    });

然后谢了这样一些代码:

var eventObjs = {
    loadData:function(){},
    updataStatus: function(e, args) {
        console.log(arguments);
        loadData();
        .....
    }
};
/*[1]*我想在下面调用eventObjs.updataStatus函数的时候在arguments中加一些自定义的属性进去**/
$app.on("online", eventObjs.updataStatus)

我的做法是:[2]

$app.on("online", function(e, args) {
    args._status = 1;
    eventObjs.updataStatus(e, args);
}) 

问题1:请问有没有像上面[1]时那样调用的同时,也能实现[2]那种效果?该如何实现?
问题2:
当我如下图进行事件绑定时,由于updataStatus调用了内部的loadData函数,会报错,loadData未定义,请问是什么原因造成的?该如何优雅的解决这个问题

$app.on("online", eventObjs.updataStatus) 


$app.on("online", {msg:"yourBizData"},eventObjs.updataStatus)

var eventObjs = {
    updataStatus: function(e, args) {
        var myData=e.data.msg;
        .....
    }
};
【热门文章】
【热门文章】