4

我来自 C/C++ 语法家族,所以这里有些东西对我来说并不熟悉。

constructor: function(manufacturer, model, topSpeed, maxAltitude){

   // initialise our config object
   this.initConfig();

   if(maxAltitude){
       this.setMaxAltitude(maxAltitude);
   }

   // call the parent class' constructor
   this.callParent([manufacturer, model, topSpeed]);
}

那么,现在当我调用父级的构造函数时,为什么要在 [] 中包含数据?当我在 C# 中做类似的事情时,我只是像在任何普通函数中一样发送数据。

这不能只是:

this.callParent(manufacturer, model, topSpeed);

这个例子来自

Ext-JS 4 Web 应用程序开发手册

但我认为这是一个 JavaScript 问题。

谢谢你。

4

1 回答 1

3

Well.callParent()是 ExtJS 提供的一个类系统实用程序。它需要将参数作为数组,因为它将.apply()用于调用另一个函数。

如果他们愿意,他们可以编写它来构建自己的数组。它可以说在当前形式中更有用,因为它为您提供了更大的灵活性,而且在 JavaScript 中创建数组并不难。

(我不确切知道的作用,因为我不使用 ExtJS。)

于 2012-09-06T14:13:10.537 回答