JS范围函数/全局变量

时间:2015-01-14 09:44:16

标签: javascript

我读到通常最好将javascript代码包含在功能块中,如此

(function () {
    "use strict";
    // stuff here
}());

但是如果代码是全局可访问的,例如函数或常量,可以在函数块之外,还是应该以另一种方式设置它?

另外 - 如果我将代码移到功能块JSLint之外,例如,would suggest我将use strict语句移到功能块内。我必须做出让步吗?

1 个答案:

答案 0 :(得分:0)

在函数内部进行设置有好处,这意味着未公开的私有变量保持私有。你可以通过{{1}来自该函数的东西将事物暴露给外界。

return

至于仅在内部函数中使用var module = (function() { "use strict"; var private = "This is private!"; var publicFn = function() { return "This is public!"; }; return { myFunction: publicFn; }; })(); module.myFunction(); // This is public ,因为作者经常连接和缩小多个JavaScript文件,并且在函数范围之外使用"use strict"将影响链中的所有其他文件(有时不会预期的行为并可能导致错误。)