我目前正在编写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);
提前感谢。
答案 0 :(得分:1)
自己找到了答案: 在函数周围添加括号将告诉浏览器它首先需要执行该函数,然后从返回的构造函数创建实例。 像这样:
this.vendor = new (Lib.vendorAPI.retreiveVendor(this.vendorConst))(this);
答案 1 :(得分:0)
怎么样?
var currentVendor = new new Lib.vendorAPI.retreiveVendor(this.vendorConst)(this);