2013-02-25 70 views
0

爲什麼不能這樣做我不明白?爲什麼我不能在一個帶有javascript對象的對象中設置這個變量?

function hello() { 
    this.say = 'fdfsd'; 
} 
function goodbye() { 
    this.example = new hello(); 
} 

但是,如果我這樣做的話;

function hello() { 
    this.say = 'fdfsd'; 
} 
function goodbye() { 
    this.example = false; 
} 
var goodbye = new goodbye(); 
goodbye.example = new hello(); 
+2

怎麼辦你的意思是'不能'?新的goodby()適用於第一個示例 – Daniil 2013-02-25 02:55:58

+0

在我的腳本中,我嘗試使用另一個對象在對象中設置變量,但它不起作用。 – Griff 2013-02-25 02:58:37

+0

「它的工作原理」是什麼意思?你期望**會發生什麼? **實際**發生了什麼? – RobG 2013-02-25 03:00:14

回答

3

你必須構建goodbye

var x = new goodbye(); 

調用構造函數將創建一個新的對象(的goodbye型)。

這條線將構建hello類型的對象,並將其分配給goodbye實例

this.example = new hello(); 

項目建成後,這是的example屬性什麼的goodbye實例將包含

// x 
{ 
    example: { 
     say: "fdfsd" 
    } 
} 
+0

+1,但試着用一些解釋來改進,所以'OP'可以清楚地理解它。 – 2013-02-25 03:08:05

+1

@SheikhHeera。完成,謝謝。 – 2013-02-25 03:18:42

+0

非常感謝,這清除了它 – Griff 2013-02-25 04:05:32

相關問題