我现在JS定义了一个类:
var MyFunction = function (){
};
MyFunction.prototype = {
doA:function(){
},
doB:function(){
}
}
现在doA和doB都需要访问一个函数someFun(),有没有方法能够让doA和doB都能访问someFun,但someFun对外部不可访问。
有没有这种用法的?谢谢来帮忙解疑。
阿神2017-04-11 11:00:01
var MyFunction = function (){
};
MyFunction.prototype = {
doA:function(){
this.someFun();
},
doB:function(){
this.someFun();
},
someFun:function(){
}
}
//或者
var test = new MyFunction();
test.someFun=function(){...};
PHP中文网2017-04-11 11:00:01
var MyFunction = function (){
};
MyFunction.prototype = function(){
function doA(){
}
function doB(){
}
function someFun(){
}
return {
doA:doA,
doB:doB
}
}();
闭包,这个方式不优雅
大家讲道理2017-04-11 11:00:01
(function(){
var someFun = function(){}
var MyFunction = function (){
};
MyFunction.prototype = {
doA:function(){
someFun()
},
doB:function(){
someFun()
}
}
})()
闭包解决