• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
陶阳昊
开发有风险,入坑需谨慎
博客园    首页    新随笔    联系   管理    订阅  订阅

JS----------IIFE(Imdiately Invoked Function Expression 立即执行的函数表达式)

1、+function($){}(jQuery); 今天看到js代码里面有这个格式的代码,不知道啥意思,就去查了一下,我也是js小白。首先前面的+号,这个不是固定非要写+号,只要写一级运算符都可以。目的是为了引导解析器,指明运算符附近是一个表达式。

  +function($){}就是一个函数表达式,(jQuery)就是调用这个函数表达式并且jQuery是参数。(传参,为了避免$与其他库或者模板申明冲突,jQuery 作为参数传递)。

  (function($){})(jQuery)  这种写法跟上面的那种写法是一个意思,功能完全一样,只是写法不一样。第二种比较常见。

 

2、function hi(){
    var a = 1;
    return function(){ console.log(a++); };
  };
  var aaa = hi();
  var bbb = hi;
  aaa(); aaa(); bbb();

aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为 1,第二次为2
而 bbb 将是将 hi 这个函数名赋值给它,则调用 bbb() 后返回一个函数表达式,即function(){console.log(a++)};

3、console.log('%O', new Date());  打印对象

 

posted @ 2016-02-18 13:13  陶阳昊  阅读(272)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3