2013-02-25 68 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

相关问题