如何正确使用多个初始化函数

How to correctly use multiple initialization functions?

本文关键字:初始化 函数 何正确      更新时间:2023-09-26

我试图了解使用多个初始化函数背后的概念是否是不好的做法。通过初始化函数,我的意思是以下任一:

$(document).ready(function(){ 
    //... some code here
}
(function(){
    //.... some code here
})();

我一次又一次地看到使用多个初始化函数,我一直认为这最终是一种不好的做法,但我真的错了吗?

基于此,有人愿意启发我使用多个初始化函数是好的做法还是坏做法吗?

编辑:删除了不相关的错误使用闭包和封装的示例。

你的怀疑是正确的,因为尽可能组织代码通常是一个好主意。

集中初始化函数使另一个开发人员更容易确定在任何给定时间正在执行哪些语句。这有助于调试,当多个开发人员处理同一代码时,这一点变得越来越重要。

也许可以考虑做这样的事情:

$(document).ready(function () {
    function findLionelRichie() {
        console.log('found Lionel Richie');
    }
    function findWhomeverElseNeedsFinding() {
        console.log('found all the others');
    }       
    (function initialize() {
        findLionelRichie();
        findWhomeverElseNeedsFinding();
    })();
});

话虽如此,它们并不总是可以避免的(例如,从外部库调用函数时)。但是,尽量保持井井有条。

在另一个函数中创建函数会更改函数的作用域,就像更改变量的作用域一样。

在另一个函数中定义的函数将无法在函数外部访问,

除非它们已附加到可在函数外部访问的对象: