辅助函数的推荐方法是什么?我想选择一种技术,并运行它来创建我的新“类”。
下面是我考虑过的设计方案:
上下文进行调用
function createPane (pane) {
// logic to create pane
var proto = Object.create(this.paneList);
$.extend(paneProto, pane);
return paneProto;
}
Panes.prototype.initialize = function (panes) {
var _this = this;
_.each(panes, function () {
_this.panes.push(createPane.call(_this, this));
});
}createPane不在实例上发布。createPane可以在其他作用域中访问。的上下文调用
Panes.prototype.initialize = (function () {
function createPane (pane) {
// same logic as last createPane
}
return function (panes) {
// same logic as before - calls createPane
}
})();createPane不在实例上发布。Panes.prototype._createPane = function (pane) {
// same logic as last createPane
}
Panes.prototype.initialize = function (panes) {
// same logic as last, except calls this._createPane
}_createPane的隐式上下文就是实例。外部可测试性。Panes.prototype.initialize = (function (createPane) {
return function (panes) {
// same logic as before - calls createPane
}
})(function createPane () {
// same logic as last createPane
});createPane不在实例上发布。助手函数之间缺乏访问权限。发布于 2014-04-10 18:25:10
首先,JavaScript没有类。
第二,在我看来,您的第三个选项似乎更合理,但它也很大程度上取决于您的需求。此外,您不应该太担心公开助手函数。对我来说,解决方案的好处完全是妥协的理由。
第三,作为一名开发人员,您的时间是宝贵的;不要让琐碎的任务很难实现,耗费时间和更多地处理人为错误。源代码的简单性本身就是一个很好的特性。
发布于 2014-07-28 06:17:01
静力学属于函数IMO,在你的情况下,你有一个私人的静态,所以.
Panes._createPane=function(pane){}https://softwareengineering.stackexchange.com/questions/235555
复制相似问题