为什么我不能在带有javascript对象的对象中设置此变量?

时间:2013-02-25 02:52:38

标签: javascript object

为什么我不能这样做我不明白?

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

1 个答案:

答案 0 :(得分:3)

你必须构建goodbye

var x = new goodbye();

调用构造函数将创建一个新对象(类型为goodbye)。

这一行将构造一个hello类型的对象,并将其分配给example实例的goodbye属性

this.example = new hello();

构建之后,goodbye的实例将包含

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