经常看到别人的JS脚本中有这样的写法:
(function(){ function a(){ alert("a"); } })();
这里的(function(){xxx})(); 是什么意思,为什么这么写,有什么好处?
经常看到别人的JS脚本中有这样的写法:
(function(){ function a(){ alert("a"); } })();
这里的(function(){xxx})(); 是什么意思,为什么这么写,有什么好处?
使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。
请看我回答的另外一个问题: javascript里function之前加上感叹号 ' ! ' 会怎么样...
这个示例看起来不是那么的有用。用(function(){xxx})()是利用匿名函数和闭包用来执行xxx里面的代码,同时所有的定义比如变量的作用域都在闭包里,不会污染到外部命名空间。
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
自执行匿名函数:
总结一下,执行函数的作用主要为 匿名 和 自动执行,代码在被解释时就已经在运行了。
其他写法推荐阅读:立即调用的函数表达式