代码格式是属于什么类型的

(function(global,factory){}(this,(function(){console.log('测试')})))

想知道啥:
这段代码的书写方式叫什么?
这么写的作用是啥?

阅读 2.1k
4 个回答

这种就是匿名函数的立即使用,所以一般也称为立即执行函数。

注意:
(function(global,factory){}(this,(function(){console.log('测试')})))

( (function(global,factory){})(this,(function(){console.log('测试')})) )
都是有效调用,后面的更安全。

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

UMD,本质还是立即执行函数

这是一个立即执行函数,声明函数的同时立即执行
函数接受 global 和 factory 参数, this 传递给了 global,打印“测试”的函数传递给了 factory。
可以根据函数的书写位置判断 this 具体是什么值,如果是非严格模式下,这条语句写在顶层,那么 this 应该是 window

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题