我试图更好地理解 JavaScript 的一些特性。其中The Definitive JavaScript
说自执行函数应该有括号,如下所示:
var obj = (function() {
var value = 0;
return {
increment: function(inc) {
value += typeof inc === "number" ? inc : 1;
},
getValue: function() {
return value;
}
}
})();
但是在JavaScript - The Good Parts
这个例子的来源中,它具有上述自动执行功能,没有括号,如下所示:
var obj = function() {
var value = 0;
return {
increment: function(inc) {
value += typeof inc === "number" ? inc : 1;
},
getValue: function() {
return value;
}
}
}();
这两个示例都对我有用,但我想问一下我应该注意的功能上是否有任何差异。我希望这不是太琐碎。我只是想确定一下。
非常感谢。
编辑:
正如 Rob W 所指出的,关于这个主题还有另一个线索。这是一篇关于这个问题的优秀博客,与另一篇文章相关联。