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

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

最佳答案

您必须构造goodbye

var x = new goodbye();


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

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

this.example = new hello();


构建之后,这就是goodbye实例将包含的内容

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

10-02 13:34