javascript - 将 JavaScript 函数放入对象中并在需要时调用它们有什么优点或缺点?

标签 javascript jquery function variables

例如,我有一堆这样的函数:

function a() {
    //do something
}

function b() {
    //do something
}
//  call function a
a();
//  call function b
b();

如果我以这种方式初始化函数有什么优点或缺点?

var jslib = {
    a: {
        init: function() {
            //do something
        }
    },
    b: {
        init: function() {
            //do something
        }
    }
}
//  init function a
jslib.a.init();
//  init function b
jslib.b.init();

最佳答案

优点

  1. 您不会污染“全局命名空间”。例如,在 Javascript 中其他任何地方声明的全局变量 a 不会隐藏您的函数。
  2. 您可以将相关功能组合在一起。

缺点

  1. 调用函数的代码稍长。 (如果您认为这根本是缺点)

不过,init 的名称表明这些对象具有状态,因此它们不仅包含函数。在这种情况下,两个版本甚至不等效。

关于javascript - 将 JavaScript 函数放入对象中并在需要时调用它们有什么优点或缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085560/

相关文章:

javascript - 每次输入更改时提交表单的最佳实践

jquery - 如何知道 jQuery 中最后一次 AJAX 调用何时完成?

php - 这个函数是不是参数太多了?

javascript - AngularJS 中的 find 与 querySelector

javascript - $$ ('foo' ) 在 JavaScript 源代码中是什么意思?

javascript - 自动将参数(变量)转换为字符串

javascript - 如果我在 AJAX 中使用 .append,如何将 .each 用于 div?

javascript - JavaScript 中 "SetInterval"的意外行为

java - 重用代码 - Java

python - 使用 "if else"语句和命名常量在 Python 中创建函数