如何在javascript中复制闭包函数

如何在javascript中复制闭包函数,javascript,function,code-duplication,Javascript,Function,Code Duplication,[更新]事实证明,我完全误解了闭包的范围:答案如下: 例7回答我的问题,非常有用 =================================================================== 全部: 我想知道如何复制一个闭包函数,如: function closure(){ var cv = "closure variable"; function changecv(newcv){ cv = newcv; } chang

[更新]事实证明,我完全误解了闭包的范围:答案如下:

例7回答我的问题,非常有用

===================================================================

全部:

我想知道如何复制一个闭包函数,如:

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,对吗?)?