关于函数声明:如果 function 是声明中的第一个词, 那么就是一个函数声明, 否则就是一个函数表达式。例如匿名函数这种形式,函数会被当作函数表达式而不是一个标准的函数声明来处理。

(function(){// 立即执行函数表达式
})()

这种表达式有另外一种用途是倒置代码的运行顺序, 将需要运行的函数放在第二位, 在 IIFE执行之后当作参数传递进去。

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

转载于:https://www.cnblogs.com/simpul/p/11027201.html

《你不知道的JavaScript(上)》笔记——函数作用域和块作用域相关推荐

  1. 你不知道的javascript_你不知道的javascript(上)

    第一章 作用域是什么 编译 作用域 作用域嵌套 javascript通常被归类为"动态"或者解释性语言,但事实上他是一门编译语言,与传统的编译语言不同的是,它不是提前编译的,编译结 ...

  2. JavaScript学习笔记——函数 Part4:向函数传递函数、从函数返回函数(函数是一等公民)

    要点 函数是值,这个值就是函数引用 函数是一等公民:函数引用是一等值 可将函数引用赋给变量.含在数据结构(如对象)中.传递给其他函数或从其他函数返回 函数是一等公民 不要再认为函数是特殊的,有别于Ja ...

  3. 读书笔记-你不知道的JavaScript(上)

    本文首发在我的个人博客:http://muyunyun.cn/ <你不知道的JavaScript>系列丛书给出了很多颠覆以往对JavaScript认知的点, 读完上卷,受益匪浅,于是对其精 ...

  4. Javascript 学习笔记 - 函数 - 关于IIFE - 关于函数声明和函数表达式 - 个人总结

    一切起源于一段代码(近来学完java基础 开始学习敲一下javascript): var getter = function(){var dayNames=["Sunday",&q ...

  5. 你不知道的javascript读书笔记3

    概述 这是我看<你不知道的JavaScript(中卷)>中关于类型检查的笔记,供以后开发时参考,相信对其他人也有用. typeof 我们知道js中有七种内置类型:undefined, nu ...

  6. 你不知道的javascript[上]学习总结(第一部分1-3章)

    第一部分 作用域和闭包(1-3章) 代码在执行前,会经过三个步骤 分词-词法分析 将由字符组成的[代码字串]分解为[有意义的代码块],被称为[词法单元] 比如,var a = 2; 通常会被分解为几个 ...

  7. 你不知道的javaScript读书笔记(六)

    this全面解析 笔记: this的运行机制: (1) this是在运行时绑定的,并不是在编写时绑定,它的上下文取决于函数调用时的各种条件.this的绑定和函数声明的位置没有任何关系,只取决于函数的调 ...

  8. JavaScript学习笔记五:变量、作用域和内存问题

    1.ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值.在很多语言中,字符串以对象的形式来表示,因此被认为是引用类型的,ECMAScript放弃了这一传统. 2.从一个变量向 ...

  9. 你不知道的javascript读书笔记

    这本书真的挺不错的,感觉以前很多不敢碰,很迷茫的问题都解决好多,看到模块化记录一下自己的理解 下面是代码: var MyModules = (function Manager() { var modu ...

最新文章

  1. 前端小纠结--集成gitflow和standard-version使用
  2. day88 Vue基础
  3. .NET两种图片上传方式
  4. 聚类算法:K-Means
  5. 谷歌大改Transformer注意力,速度、内存利用率都提上去了-新的 Transformer 架构——Performer
  6. cahrt框架 ios_iOS - Charts(一) - BarChartView
  7. makefile工作笔记0001---认识使用makefile
  8. Java 连接 SQL Server 数据库
  9. poj 2492 并查集 A Bug's Life
  10. BrcmPatchRAM 黑苹果WiFi无线网卡蓝牙驱动
  11. Idea中使用maven命令
  12. 手把手教你配置阿里云服务器搭建网站
  13. 计算机绘图尺寸标注,计算机绘图AutoCAD尺寸标注演示教学.ppt
  14. linux上删除rime方案_超强的输入法:rime的配置(linux)
  15. 神经网络(四)-vanishing gradient problem
  16. 软件工程与计算II-20-软件交付
  17. Eclipse安装JDK11方式
  18. win7计算机里找不到硬盘,win7系统安装找不到硬盘驱动器的解决方法
  19. 深蓝积分,来自深蓝积分精湛系统领先服务
  20. Wondershare DVD Creator mac版如何刻录,怎样使用 DVD Creator制作DVD视频

热门文章

  1. $ npm install时候报出:npm ERR! Unexpected token in JSON at position 10841
  2. react native使用百度echarts显示图表
  3. mysql中影响数据库性能的因素讲解
  4. android studio- java注释自己动手弄起来
  5. MacOS中使用QT开发iOS应用
  6. JavaScript 解决浮点值运算Bug
  7. [转载] 晓说——第7期:镖局——最后的江湖(上)
  8. HK2000 V2版本 GPRS通讯串口说明
  9. 阻击恶意软件--清除和保护你的网站的小技巧
  10. 10.11 arping:发送arp请求