gpt4 book ai didi

javascript - 在 Spine 中定义私有(private) "class"函数的最优雅方式

转载 作者:行者123 更新时间:2023-12-02 05:09:30 25 4
gpt4 key购买 nike

我目前正在研究 Spine,目前我在问自己什么是使用 Spine 的类创建方法来定义私有(private)函数的最优雅的方法。

var PrinterManager = Spine.Class.create({

init: function () {

},

getAllAvailablePrinters: function () {

},

printDocument: function () {

}

});

(function () {

var instantiateActiveX = function(){
console.log("...");
}

PrinterManager.include({
pubInitActiveXPrinter: function(){
instantiateActiveX();
}
});

})();

如您所见,我希望 instantiateActiveX 是私有(private)的,对外不可见。使用 JavaScript 闭包函数技巧,我可以毫无问题地将其设为私有(private),但在像 Spine 这样创建类的竞赛中,这个解决方案对我来说似乎不太优雅。

代码有效,即我可以调用 PrinterManager.init().pubInitActiveXPrinter(),然后它将在内部调用私有(private)函数,并且 - 正确地 - 我无法调用 PrinterManager.init() .instantiateActiveX().

我的问题 - 是否有我尚未发现的更优雅的 Spine 方法??

最佳答案

简单来说,除了闭包之外,没有其他方法可以使某些函数/变量在全局范围内不可见/私有(private)。

关于javascript - 在 Spine 中定义私有(private) "class"函数的最优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com