<分区>
Possible Duplicate:
JavaScript scope and closure
我对下面的 Javascript 语法不是很熟悉。任何人都可以对这个街区的感觉有所了解吗?为了什么目的?
(function foo() { alert('bar'); })();
提前致谢。
标签 javascript
<分区>
Possible Duplicate:
JavaScript scope and closure
我对下面的 Javascript 语法不是很熟悉。任何人都可以对这个街区的感觉有所了解吗?为了什么目的?
(function foo() { alert('bar'); })();
提前致谢。
最佳答案
这对我来说似乎是不好的做法(命名闭包函数),因为它会导致浏览器不一致。
以下面的代码为例
(function foo() {
alert('bar');
})();
foo();
在 Internet Explorer 中,您将收到 2 条警报,因为它实际上将函数创建为名为 foo
的全局函数。
在 Chrome 中,它只会提醒一次,并且 foo
没有全局声明,所以你会得到一个 javascript 错误 foo is not defined
通常你不会给闭包函数起一个名字
(function() { // notice you don't see foo anymore
alert('bar');
})();
关于带有 () 的 Javascript 语法 - 函数作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007924/