如何在javascript中复制闭包函数
[更新]事实证明,我完全误解了闭包的范围:答案如下: 例7回答我的问题,非常有用 =================================================================== 全部: 我想知道如何复制一个闭包函数,如:如何在javascript中复制闭包函数,javascript,function,code-duplication,Javascript,Function,Code Duplication,[更新]事实证明,我完全误解了闭包的范围:答案如下: 例7回答我的问题,非常有用 =================================================================== 全部: 我想知道如何复制一个闭包函数,如: function closure(){ var cv = "closure variable"; function changecv(newcv){ cv = newcv; } chang
function closure(){
var cv = "closure variable";
function changecv(newcv){
cv = newcv;
}
changecv.getcv = function(){return cv;}
return changecv;
}
假设我有另一个函数来复制这个闭包函数:
function dupclosure(cFn){..... I do not know how to do this...}
var newclosureFn = dupclosure(closure);
var cf1 = closure();
var cf2 = newclosureFn ();
cf1("new closure variable");
console.log( cf2.getcv() ); // still "closure variable"
谢谢
var cf2=closure()代码>-@Andreas谢谢。所以,如果我想共享那个cv变量,并且仍然使用这个闭包函数模式,我该怎么做呢?使用prototype(我认为prototype只用于对象原型链,所以我不能只使用cv,我必须使用closure.prototype.cv,对吗?var cf2=closure()代码>-@Andreas谢谢。所以,如果我想共享那个cv变量,并且仍然使用这个闭包函数模式,我该怎么做呢?使用prototype(我认为prototype只用于对象原型链,所以我不能只使用cv,我必须使用closure.prototype.cv,对吗?)?