例如,我有一堆这样的函数:
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();
最佳答案
优点
- 您不会污染“全局命名空间”。例如,在 Javascript 中其他任何地方声明的全局变量
a
不会隐藏您的函数。 - 您可以将相关功能组合在一起。
缺点
- 调用函数的代码稍长。 (如果您认为这根本是缺点)
不过,init
的名称表明这些对象具有状态,因此它们不仅包含函数。在这种情况下,两个版本甚至不等效。
关于javascript - 将 JavaScript 函数放入对象中并在需要时调用它们有什么优点或缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085560/