2016-02-23 78 views
1

我不明白爲什麼我不能實例裏面ChildModel孩子:「遺漏的類型錯誤:孩子是不是一個函數」爲什麼JavaScript錯誤:「孩子是不是一個函數」

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); 

回答

7

那發生的原因是,在所謂的關閉中,你return Child();而不是簡單的return Child;

通過這樣做,您實際上將內部返回值分配給「外部」Child,即undefined,因爲它不返回任何內容。

相關問題