“arguments”变量来自“this.callParent(arguments)”在哪里?

时间:2012-10-29 11:46:00

标签: javascript extjs4

在学习ExtJS 4时,我发现在定义新类时,在initComponent方法中,可以使用this.callParent(arguments)调用父类的构造函数。

我想知道这个arguments变量(我知道它可以是argsaarg)的定义位置,以及分配了它的值

例如,如果我按如下方式定义我的类:

Ext.define('shekhar.MyWindow', {

  extend : 'Ext.Window',
  title : 'This is title',

  initComponent : function() {
    this.items = [
      // whatever controls to be displayed in window
    ];

    // I have not defined argument variable anywhere
    // but still ExtJS will render this window properly without any error
    this.callParent(arguments);
  }

});

有谁知道这个arguments变量的定义位置,以及如何为其分配值?

1 个答案:

答案 0 :(得分:7)

arguments变量是Javascript中的一个特殊变量,可在任何函数中使用。它不是一个真正的数组,但它包含传递给函数的参数值,可以像数组元素一样访问(因此,arguments[0]是第一个参数,arguments[1]是第二个,依此类推)。

查看Mozilla开发人员网络上的this page以获取更多信息和示例。