Javascript 调用父构造函数时为什么在[]中发送数据?
我来自C/C++语法家族,所以这里有些东西我不熟悉Javascript 调用父构造函数时为什么在[]中发送数据?,javascript,extjs,Javascript,Extjs,我来自C/C++语法家族,所以这里有些东西我不熟悉 constructor: function(manufacturer, model, topSpeed, maxAltitude){ // initialise our config object this.initConfig(); if(maxAltitude){ this.setMaxAltitude(maxAltitude); } // call the parent class' co
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);
这个例子来自
ExtJS4Web应用程序开发食谱
但我认为这是一个JavaScript问题
谢谢。Well.callParent()
是ExtJS提供的一个类系统实用程序。它需要参数作为数组,因为它将使用.apply()
调用另一个函数
如果他们愿意,他们可以编写它来构建自己的阵列。在当前的表单中,它可能更有用,因为它给了您更多的灵活性,并且不像在JavaScript中创建数组那么困难
(我不知道它到底做什么,因为我不使用ExtJS。)答案完全取决于
callParent
函数的定义。