2014-06-29 14 views
1

示例代码:的Javascript功能分配给现有的变量

var someVar = {}; 
someVar.text = "some text"; 

var thisFunc = function(){ 
    this.subfunc = function(){ 

    } 
} 

我如何分配thisFuncsomeVar?如果我做someVar = new thisFunc()someVar.text将会消失。

谢谢。

+2

'new thisFunc'后面指定'someVar.text'? – thefourtheye

回答

2

我想你想要像波纹管: -

var someVar = {}; 
someVar.text = "some text"; 

var thisFunc = function(){ 
    //do some 
} 
someVar.func = thisFunc; 
0

看来,一个extend功能会派上用场在您的情况。这是一个小帮手功能,即分配一个对象的属性到另一个(如果你使用的是第三方库像下划线,你可能已经拥有这样的功能):

function extend(obj1, obj2) { 
    for (var key in obj2) { 
     if (Object.prototype.hasOwnProperty.call(obj2, key)) { 
      obj1[key] = obj2[key]; 
     } 
    } 
    return obj1; 
} 

然后,你可以这样做:

var someVar = {}; 
someVar.text = "some text"; 

var thisFunc = function(){ 
    this.subfunc = function(){ 

    } 
} 

someVar = extend(thisFunc, someVar);