Javascript - 在对象中存储函数 - 不好的做法?

标签 javascript function object

<分区>

将函数存储在对象中而不是仅仅定义它们(因此是全局定义)是否被认为是糟糕的编码实践?

考虑:

1.

Foo = {
    bar: function() {
        alert("baz");
    }   
}

Foo.bar();

对比

2.

function bar() {
    alert("baz");
}

bar();

当然,第二个示例的代码可能稍微少一些,但是当您开始获得大量函数时 - 它会变得困惑。 例如,我发现使用 Game.update() 而不是使用 updateGame(); 更简洁。或类似的。当变得更深时,例如 Game.notify.admin(id) 等,它会为您提供更漂亮的代码。

将函数存储在对象中有什么缺点吗?

最佳答案

首选第一种方法。通过这种方式,您可以明确定义函数的范围,而不是污染全局范围。使用第一种方法没有缺点。只有好处:-)

结论:始终使用第一种方法来定义函数。第二个就像 90 年代的 javascript,让我们让它在过去安息并使用适当的范围。

关于Javascript - 在对象中存储函数 - 不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8902687/

相关文章:

c++ - 函数输出到int数组

javascript - 如何使用 JavaScript 并行过滤对象?

javascript - 我怎样才能等待页面在 PhantomJS 中准备好?

javascript - 重新定义点击选择器 jQuery

javascript - 仅当编辑器聚焦于具有 1 个工具栏的多个编辑器时才显示 TextAngular 工具栏

c# - 如何使用 jscript 中声明的参数调用 Html.RenderAction()?

c++ - 导出 DLL C++ 类,关于 .def 文件的问题

javascript - 如何使用javascript函数从div中减去50px?

c++ - 在对象继承中构造对象后设置较晚的值

apache-flex - 如何将 3D 对象导入 Adob​​e Flex?