示例代码:
var someVar = {};
someVar.text = "some text";
var thisFunc = function(){
this.subfunc = function(){
}
}
如何将thisFunc
分配给someVar
?如果我执行someVar = new thisFunc()
,则someVar.text
将会消失。
谢谢。
答案 0 :(得分:2)
我想你想要像下面这样的东西: -
var someVar = {};
someVar.text = "some text";
var thisFunc = function(){
//do some
}
someVar.func = thisFunc;
答案 1 :(得分:0)
似乎extend
功能会在您的情况下派上用场。这是一个小辅助函数,它将一个对象的属性分配给另一个对象(如果你使用的是像Underscore这样的第三方库,你可能已经有了这样的函数):
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);