立即执行函数表达式

一个普遍的进阶用法

var a = 2;
(function IIFE(global){
  var a = 3;
  console.log(a);
  console.log(global.a);
})(window)
console.log(a);

避免undefined被错误覆盖


传参时传入一个函数进去

var a = 2;
(function IIFE(b){
  var a = 3;
  b();//5
  console.log(a);//3
})(function def(){var a=3;a=a+2;console.log(a)})
console.log(a);//2

说是在UMD项目中广泛使用。

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:19
点赞 评论 收藏
分享
accaacc:2到4k,不是2k到4k,所以年薪是30块
点赞 评论 收藏
分享
头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务