我不明白为什么我无法在ChildModel中实例化Child:“Uncaught TypeError:Child is not function”
https://jsfiddle.net/zvabqj0m/
var Child = (function() {
function Child(data) {
alert("Child");
}
return Child();
})();
var ChildModel = (function() {
function ChildModel(data) {
this.data = data;
this.child = new Child(data);
alert("ChildModel");
}
return ChildModel();
})();
data = "hello";
var childModel = new ChildModel(data);
答案 0 :(得分:7)
这种情况发生的原因是,在被叫封闭中,您return Child();
而不仅仅是return Child;
。
通过这样做,您实际上正在分配"外部" Child
内部值的返回值,即undefined
,因为它不返回任何内容。