哪个更好:

var foo = 0,
    fnFoo = function (bar)
    {
        "use strict";
        // Do stuff
    };

$(document).ready(function ()
{
    "use strict";
    fnFoo(foo);
});

要么
$(document).ready(function ()
{
    "use strict";

    var foo = 0,
        fnFoo = function (bar)
        {
            "use strict";
            // Do stuff
        };

    fnFoo(foo);
});

区别在于变量/函数声明的位置。在这种情况下,假设只有ready事件需要使用foofnFoo

最佳答案

如果仅ready事件需要它,则将其放在ready中。这就是封装的重点。尽可能限制对变量的访问,以减少代码中的错误。如果您以后不小心意外声明了另一个foofnFoo,会发生什么情况?

不仅如此,它还使您的代码更易于理解。这意味着您确切知道每个变量的用途和位置。

07-24 14:49