我有一个函数,它有一些变量,因为它们位于函数内部,它们是函数的本地函数,因此是私有(private)的。现在我可能有很多这样的变量,为了设置一个值并从外部获取变量值,我必须为每个私有(private)变量编写 set 和 get 。 无论如何,JavaScript 中是否有用于获取和设置所有私有(private)变量(PrivateOne 和 PrivateTwo)的通用函数。
privateClosure = (function(){
var PrivateOne;
var PrivateTwo;
setPrivate = function(VariableName,Value)
{
VariableName = Value;
}
getPrivate = function(VariableName)
{
return VariableName;
}
return{setPrivate,getPrivate};
})();
// I want to do something like this
privateClosure.setPrivate(PrivateOne,10);
privateClosure.getPrivate(PrivateOne);
privateClosure.setPrivate(PrivateTwo,20);
privateClosure.getPrivate(PrivateTwo);
//Only one Function for all the private variable in closure.
Is there anyway in javascript to have common function for getting and setting all private variable(PrivateOne and PrivateTwo).
最佳答案
您可以关闭 map :
var data = (function(){
var lookup = new Map();
return {
get(v){
return lookup.get(v);
},
set(a,v){
return lookup.set(a,v);
}
}
})();
所以你可以这样做:
data.set("a",1);
alert( data.get("a"));
关于javascript - 实现单个函数来设置和获取 JavaScript 闭包中所有私有(private)变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648583/