2013-03-10 121 views
0

这不工作,我不知道如何解决它如何从现有的对象创建一个新的对象?

function bar() {...} 

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

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

var foobar = new foo(); 

由于提前,

+1

什么是你想要做什么呢? – 2013-03-10 20:28:58

回答

0

您是否试图从bar继承?然后,你可以借使用call(或apply)它的构造和它的所有自己的属性:

function bar() {...} 

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

var foobar = new foo(); 
1

不要使用this代表另一个对象。

function bar() {...} 

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

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

var foobar = new foo(); 
+0

'bar'不是构造函数 – defunct 2013-03-10 20:35:56

+1

@defunct,你在做什么? – Starx 2013-03-10 20:36:53

相关问题