我有这个对象:
var x = function(){
var returnObj = {
constructor:function(ieps){
this.jow = ieps
}
}
returnObj.constructor.prototype.build = function(){
alert(this.jow)
}
return returnObj
}
我想跟这个打电话:
var jow = new x.constructor("ieps")
jow.build()
所以我尝试让build()执行警报,但是我得到一个x.build()是未定义的。
有什么想法吗?
THX,
答案 0 :(得分:1)
x
是一个返回对象的函数,它具有构造函数作为属性。您必须先调用该功能。其次,您无法使用new x().constructor("ieps")
,因为它被解析为(new x()).constructor("ieps")
,但实际上您需要new (x().constructor)("ieps")
。最后,我们到达:
var jow = new (x().constructor)("ieps")
jow.build()