【发布时间】:2012-02-26 23:24:13
【问题描述】:
多年来,我一直在积极使用揭示模块模式,但有一些事情我想更深入地了解。据我了解,自动执行功能的潜在好处是匿名性和自动执行,在这种特定模式中,这两者似乎都没有必要/未使用。我不明白的另一件事是,在下面的场景中,可以将函数 Init 包装在 SocialMedia 函数()中,即嵌入式函数,自执行函数似乎是 JS 中非常独特的构造,是我们可以将属性值分配给自执行代码块,这不奇怪吗?
var myObj = {
prop1, "prop1value",
SocialMedia: (function () {
function Init() {
}
return {
Init: Init
}
})()
}
【问题讨论】:
-
“我们可以将属性值分配给自执行代码块,这并不奇怪” - 我不认为这很奇怪:您可以分配一个any 表达式的属性,那么为什么不给函数调用的结果呢? (即使是不返回值的函数调用也会起作用,因为它实际上返回的是未定义的。)
标签: javascript jquery revealing-module-pattern