以下函数作用域的优缺点是什么:
全局函数/内联 JS
<script> function funcA() { //do something } </script> <button id="buttA" onclick="funcA();">Click Me</button>
全局函数/非内联 JS
<script> function funcA() { //do something } $(function() { $('#buttA').on('click', funcA); }); </script> <button id="buttA">Click Me</button>
非全局函数/非内联 JS
<script> $(function() { $('#buttA').on('click', funcA); function funcA() { //do something } }); </script> <button id="buttA">Click Me</button>
哪种组合更好,为什么?
最佳答案
我认为不使用全局变量的最大争论来自网络协作的本质。如果您正在构建一个站点范围的脚本,并且您有一个团队(比如说另外两个人)在开发插件,那么您不希望您的变量被协作者覆盖或调用。此外,如果人们不断要求您向他们提供程序变量和函数的列表,则会减慢一切速度。
/* Private namespace */
(function () {
var sum_1 = 10;
var sum_2 = 20;
var myFunction = function (x, y) {
return x * y;
};
myFunction(sum_1, sum_2);
})();
关于javascript - JavaScript/jQuery 中各种函数作用域/事件绑定(bind)的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23976714/