如何从现有对象创建新对象?

时间:2013-03-10 20:26:57

标签: javascript

这不起作用,我不知道如何解决它

function bar() {...}

function foo() {
    this = new bar();

    this.newfunction = function() {...};
    this.newvalue = "foobar";
}

var foobar = new foo();

提前致谢,

2 个答案:

答案 0 :(得分:1)

请勿使用this来表示其他对象。

function bar() {...}

function foo() {
    var bar = new bar();

    bar.newfunction = function() {...};
    bar.newvalue = "foobar";
}

var foobar = new foo();

答案 1 :(得分:0)

您是否尝试继承bar?然后,您可以使用call(或apply)借用其构造函数及其所有属性:

function bar() {...}

function foo() {
    bar.call(this);
    this.newfunction = function() {...};
    this.newvalue = "foobar";
}

var foobar = new foo();