javascript对象中的私有方法
我有一个对象看起来像这样:javascript对象中的私有方法,javascript,oop,object,private,Javascript,Oop,Object,Private,我有一个对象看起来像这样: var obj ={ property : '', myfunction1 : function(parameter){ //do stuff here } } 我需要设置一些私有属性和函数,这些属性和函数不能从对象外部访问/查看。它不适用于任何人 var属性:,或var myFunction1 下一个问题是,如果我在对象内部或外部调用函数,我总是必须使用obj.myfunction()来执行此操作。我想将“this”附加到一个变量。喜欢se
var obj ={
property : '',
myfunction1 : function(parameter){
//do stuff here
}
}
我需要设置一些私有属性和函数,这些属性和函数不能从对象外部访问/查看。它不适用于任何人
var属性:,
或var myFunction1
下一个问题是,如果我在对象内部或外部调用函数,我总是必须使用obj.myfunction()
来执行此操作。我想将“this”附加到一个变量。喜欢self:this
。并在对象内部使用self.property
和self.myfunction
调用我的函数和变量
怎么做?:) 有很多方法可以做到这一点。简言之:如果您在另一个函数中定义了一个函数,那么您的内部函数将是私有的,只要您不提供对If的任何引用
(function obj(){
var privateMethod = function() {};
var publicMethod = function() {
privateMethod();
...
};
return {
pubMethod: publicMethod
}
}());
使用闭包。JavaScript有,所以您必须使用函数
var obj = function () {
var privateVariable = "test";
function privateFunction() {
return privateVariable;
}
return {
publicFunction: function() { return privateFunction(); }
};
}();
此链接可在以后帮助您:
var obj = function () {
var privateVariable = "test";
function privateFunction() {
return privateVariable;
}
return {
publicFunction: function() { return privateFunction(); }
};
}();