前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单的说下,(function(){...})() 与 (function(){...}()) 有什么区别?

简单的说下,(function(){...})() 与 (function(){...}()) 有什么区别?

作者头像
web前端教室
发布2018-02-07 12:03:21
8160
发布2018-02-07 12:03:21
举报
文章被收录于专栏:web前端教室web前端教室

大周末的写太长了也没人看,标题所提问,其实没有区别,

function xxx(){...},这是一个函数,解释器知道了,但并不运行它;

xxx(),解释器遇到它就会执行它。

IIFE写法的好处:

1,普通写法代码多,并且定义和执行不在一起;

2,占用命名空间;

不想给某些函数起名,又想让它立即执行,那怎么办呢?简单啊,将之转化为表达式,加个()呗,变成这样,

代码语言:js
复制
(function xxx(){console.log('xxx')})();

那既然都立即执行了,干脆函数名也不要了吧,于是,

代码语言:js
复制
(function (){console.log('xxx')})();

为啥这样好呀?

因为IIFE搞了一个新的作用域,你的代码碰不到全局对象了。

什么是IIFE?

立即执行函数表达式 IIFE(Immediately-invoked function expression)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是IIFE?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档