我最近将当前版本的json2.js与我在项目中的版本进行了比较,并注意到函数表达式的创建和自我执行方式有所不同.
用于在括号中包装匿名函数然后执行它的代码,
(function () {
// code here
})();
Run Code Online (Sandbox Code Playgroud)
但现在它将自动执行的函数包含在括号中.
(function () {
// code here
}());
Run Code Online (Sandbox Code Playgroud)
有通过CMS在接受答案的注释解释JavaScript的封装匿名函数的语法是"既:(function(){})();和(function(){}());有效."
我想知道有什么区别?前者是否通过绕过全局匿名函数来占用内存?括号应该放在哪里?
可能重复:
自动执行匿名JavaScript函数的括号位置?
有时我看到:
(function() { ... }());
Run Code Online (Sandbox Code Playgroud)
有时我看到:
(function() { ... })();
Run Code Online (Sandbox Code Playgroud)
这两种形式有区别吗?是否有任何令人信服的理由使用一种形式而不是另一种形式?