2

我知道模块模式在 Javascript 编程中非常有用和强大。我第一次在Eric Miraglia 的博客中认识到这种模式,但我想知道一件事。在其他解释模块模式的博客和文章中,我注意到他们的示例代码与 Eric 的文章略有不同,即它们使用带括号的函数表达式而不是函数语句,例如ben cherry 的文章就是其中之一。

使用函数表达式而不是函数语句有什么具体原因吗?请用简单的方式解释一下,我刚进入Javascript编程世界:)

4

1 回答 1

2

Miraglia 模式也是如此,定义一个匿名函数并执行它。不同之处在于,为了使用模块的功能,您必须在某处引用一个实例。将模块分配给全局变量(YAHOO.*)是一种将引用保留在全局已知位置的方法,这对于框架(如 YUI)尤其重要。

有时你不需要那个参考。例如,如果您正在为网页编写 JavaScript,您通常会使用选择器(id / 类型等)将事件绑定到函数。这确实消除了对模块函数的任何全局引用的需要。

希望有道理...

于 2012-06-14T04:46:04.383 回答