请问js里这种两个括号的写法具体是什么写法?作用涵义
(function() {
alert('hello')
})();
来源于油猴脚本
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
(function() {
alert('hello')
})();
来源于油猴脚本
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
这个叫立即执行函数。
就相当于
为什么不直接写成这样呢:
这是因为有时候需要开辟新的函数作用域,确保外层变量不被污染;或者在创建一个闭包的时候,代码可以简洁一点。
其实。。。没什么用
主要是
隔离作用域
以上例程,a的作用域在function内部,如果没有function包裹,默认会挂载
window
下https://www.xiaohuochai.cc/po...
这个博主解释的很详细 这种写法叫做IIFE 即"立即执行函数"
声明和表达式的关系。
如果不加括号,
function(){}
是一个方法的声明,并且有语法错误,因为没有函数名。加上括号以后就变成了一个表达式,所以
(function(){})()
可以立即执行。另外一个例子
让这个匿名函数立即执行