function Engineer (name, projs, mach) {
this.base = WorkerBee;
this.base(name, "engineering", projs);
this.machine = mach || "";
}
Engineer.prototype = new WorkerBee;
var jane = new Engineer("Doe, Jane", ["navigator", "javascript"], "belau");
这是来自Mozilla示例页面。为什么新的WorkerBee没有括号? 如果WorkerBee构造函数有参数,我们需要将它们传递给?
Engineer.prototype = new WorkerBee(BaseClassConstructorArgument1,2...)
我有这个问题: JS提示:缺少'()'调用构造函数。
所以我现在想知道清洁解决方案的样子。
答案 0 :(得分:3)
使用new
关键字调用构造函数时,括号是可选的,尽管有些短语会警告您。但是使用new WorkerBee
代替new WorkerBee()
如果你想传递参数,你自然需要括号。这就是为什么有些人认为总是最好使用paratheses来保持一致性(通常是写lint规则的人)。
但选择完全取决于你作为程序员。