如何在jquery函数中使用“arguments”对象与'this'类似?

时间:2013-02-14 13:42:29

标签: javascript jquery backbone.js

我需要在jQuery函数中使用参数arguments作为我自己的元素,而不是默认元素。 我的代码: 我应该在$(window).load中调用骨干超类:

 MyController.__super__.scroll.apply(this, arguments);

我做了这样的事情:

 var context = this;
 var contextArgs= arguments;
 $(window).load(
   function(){
   MyController.__super__.scroll.apply(context , contextArgs);  //call backbone superclass
 });

我不想创建新的参数'context'和'contextArgs'。 我只能阻止创建var context = this;通过使用Jquery.proxy:

 var contextArgs= arguments;
 $(window).load(
     $.proxy(function() {
         MyController.__super__.scroll.apply(this , contextArgs);
     },this)
 );

如何阻止创建另一个参数var contextArgs= arguments;

1 个答案:

答案 0 :(得分:3)

您可以将其他参数传递给proxy,它们将在函数中作为参数提供:

$(window).load(
    $.proxy(function(contextArgs){
        MyController.__super__.scroll.apply(this , contextArgs);
    },this, arguments)
);