【发布时间】:2011-10-23 22:05:54
【问题描述】:
我目前正在深入研究 Spine,目前我正在问自己,使用 Spine 的类创建方法来定义私有函数的最优雅的方法是什么。
var PrinterManager = Spine.Class.create({
init: function () {
},
getAllAvailablePrinters: function () {
},
printDocument: function () {
}
});
(function () {
var instantiateActiveX = function(){
console.log("...");
}
PrinterManager.include({
pubInitActiveXPrinter: function(){
instantiateActiveX();
}
});
})();
如您所见,我希望 instantiateActiveX 是私密的,不对外可见。使用 JavaScript 闭包函数技巧,我可以毫无问题地将其设为私有,但在像 Spine 那样创建类的竞赛中,这种解决方案对我来说似乎不太优雅。
代码有效,即我可以调用 PrinterManager.init().pubInitActiveXPrinter(),然后它会在内部调用私有函数,并且 - 正确 - 我不能调用 PrinterManager.init().instantiateActiveX()。
我的问题 - 有没有更优雅的方式来处理我尚未发现的 Spine??
【问题讨论】:
标签: javascript spine.js