在 javascript 中,我有一个包含函数的对象,并想向其添加一个私有(private)成员。 我怎样才能做到这一点?
function function1 () {
var function2 = function () {
console.log("This is an actual function.");
}
function2.publicMember = 5;
function2.privateMember = 7;
return function2;
}
我希望 function1 的用户无法访问 privatMember。 我发现了这个问题,但我不能完全将其转化为我的情况,因为我的对象是一个函数:
How to add private variable to this Javascript object literal snippet?
谢谢!
最佳答案
将其包装到另一个函数中以创建新作用域(即使用 iife ):
function function1 () {
var function2 = (function(){
var privateMember = 7;
return function () {
privateMember ++; // do something with really private member
console.log("This is an actual function.");
}
})();
function2.publicMember = 5;
return function2;
}
关于javascript - 包含函数的对象的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20873055/