【发布时间】:2012-02-12 17:35:12
【问题描述】:
将函数存储在对象中而不是仅仅定义它们(因此是全局的)是否被认为是不好的编码实践?
考虑:
1.
Foo = {
bar: function() {
alert("baz");
}
}
Foo.bar();
对比
2.
function bar() {
alert("baz");
}
bar();
当然,第二个示例的代码可能会稍微少一些,但是当您开始获得大量功能时 - 它会变得一团糟。
例如,我发现使用 Game.update() 而不是使用 updateGame();或类似的。当更深入时,例如Game.notify.admin(id) 等,它会为您提供更漂亮的代码。
在对象中存储函数有什么缺点吗?
【问题讨论】:
-
没有。如果有的话,在全球拥有数百万用户的框架就不会这样做了。
-
没有。正如您的问题已经指出的那样,这是避免全球污染的标准命名空间。为什么会不好?
标签: javascript function object