函数返回构造函数并直接调用

时间:2015-10-20 19:05:15

标签: javascript constructor inline short

我目前正在编写Javascript并调用一个返回构造函数的函数,我想立即创建这样的对象。但我不行。因为我希望这段代码在一行中,而不是必须创建另一个var来启动它。 提前谢谢。

this.vendor = new Lib.vendorAPI.retreiveVendor(this.vendorConst)(this);

这种方式有效,但不是内联。

var currentVendor = new Lib.vendorAPI.retreiveVendor(this.vendorConst)(this);
this.vendor = new currentVendor(this);

提前感谢。

2 个答案:

答案 0 :(得分:1)

自己找到了答案: 在函数周围添加括号将告诉浏览器它首先需要执行该函数,然后从返回的构造函数创建实例。 像这样:

this.vendor = new (Lib.vendorAPI.retreiveVendor(this.vendorConst))(this);

答案 1 :(得分:0)

怎么样?
var currentVendor = new new Lib.vendorAPI.retreiveVendor(this.vendorConst)(this);