gpt4 book ai didi

Javascript:私有(private)函数的嵌套——好还是坏?

转载 作者:可可西里 更新时间:2023-11-01 02:42:42 34 4
gpt4 key购买 nike

我经常使用这种结构:

var example = (function () {
function privateFn2 () {
...
}
function privateFn1 () {
...
}
return {
publicMethod1: function () {...
},
publicMethod2: function () {...
}
};
}());

我想知道的是:如果 privateFn1 是唯一调用 privateFn2 的函数/方法,按如下方式设置它是否被认为是更好的做法?

为清晰起见已编辑

var example = (function () {
function privateFn1() {
function privateFn2() {
}
...
privateFn2();
}
return {
publicMethod1: function () {...
},
publicMethod2: function () {...
}
};
}());

当然,这是一个极其简化的示例。问题是我有很多私有(private)函数,我想知道嵌套是好还是不好。我知道这很可能是个人喜好问题,但我们将不胜感激地接受任何建议。

谢谢。

最佳答案

视情况而定。如果您有几个仅与另一个私有(private)函数相关的私有(private)函数,那么在这种情况下,对象或类可能会封装更多的功能,而不是应该的。

这里有一些问题要问:

  • 这些私有(private)函数有副作用吗?也就是说,他们是操纵任何封闭的属性?如果不是,这是不是一些普遍的可以静态实现并包含的逻辑分别地?或者,这些私有(private)函数是否操纵了可以移动到另一个类或对象的属性?
  • 私有(private)函数是在内部使用的简单任务特定辅助函数吗更大的算法或控制功能;例如用于排序的过滤函数数组,或其他某种迭代回调?如果是这样,那么它可能是事实上清洁器将这些功能嵌套在内部并将它们置于主要范围之外目的。其他代码是否需要这些功能?
  • 主私有(private)函数会被调用多少次?如果它会被称为非常频繁地(在循环内或定时器间隔内)然后嵌套内部的私有(private)函数可能会产生可测量的开销——如果有私有(private)功能,本来可以忽略不计只是偶尔被调用。

总是需要权衡取舍,思考这些问题将帮助您决定什么最适合您的特定情况。

关于Javascript:私有(private)函数的嵌套——好还是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11873566/

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