(function(global,factory){}(this,(function(){console.log('测试')})))
想知道啥:
这段代码的书写方式叫什么?
这么写的作用是啥?
(function(global,factory){}(this,(function(){console.log('测试')})))
想知道啥:
这段代码的书写方式叫什么?
这么写的作用是啥?
这是一个立即执行函数,声明函数的同时立即执行
函数接受 global 和 factory 参数, this 传递给了 global,打印“测试”的函数传递给了 factory。
可以根据函数的书写位置判断 this 具体是什么值,如果是非严格模式下,这条语句写在顶层,那么 this 应该是 window
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这种就是匿名函数的立即使用,所以一般也称为立即执行函数。
注意:
(function(global,factory){}(this,(function(){console.log('测试')})))
与
( (function(global,factory){})(this,(function(){console.log('测试')})) )
都是有效调用,后面的更安全。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。