一、标准的闭包函数
//一、标准的闭包函数
function A() {var i=0;++i;console.log('i : ' + i);return function b() {return function c() {return ++i}}
}var a = A(); // 初始化A,执行A内的非function语句 ‘ i=0; ++i‘,输出 I : 1
console.log(a()); // 执行function b,输出 [Function: c]
console.log(a()());  // 执行function b后执行 function c,输出 2

// 将++i放入function b中
function A() {var i=0;return function b() {++i;console.log('i : ' + i);return function c() {return ++i}}
}var a = A();  // 执行i=0 没有输出
console.log(a()); // 执行function b,输出 i : 1 [Function: c]
console.log(a()()); // 执行function b后,再执行function c, 输出 i : 2  3

二、箭头函数闭包函数

//箭头函数的闭包函数
var Add = (i = 0) => {++i;console.log('I : ' + i);return (() => {return (() => ( ++i))})
};var v = Add();  // 会执行方法内的非function语句  输出I : 1
console.log(v()()); // 第一个括号进入第一个箭头函数,第二个括号进入第二个箭头函数 输出 2
console.log(v()()); // 输出 3

//将++i放入第一个箭头函数中
var Add = (i = 0) => {return (() => {++i;console.log('I : ' + i);return (() => ( ++i))})
};var v = Add();  //会执行方法内除箭头函数的代码,初始化i=0
console.log(v()); //第一个括号进入第一个箭头函数,++i执行一次,所以执行完成i的值为1  输出 I : 1 [Function]
console.log(v()()); //两个箭头函数都会执行,++i执行两次,所以执行完成i的值为3  输出:I : 2  3

转载于:https://www.cnblogs.com/xiaochengzi/p/9876995.html

JavaScript闭包函数箭头函数调用与执行相关推荐

  1. JavaScript闭包函数

    JavaScript闭包函数 1 概述 2 词法作用域 3 闭包 1 概述 一个函数和对其周围状态(词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure).也就是说, ...

  2. JavaScript闭包函数与闭包释放

    作用域链:一般,变量取值是到创建这个变量的函数的作用域中取值,如果没有查到,就会往上查找,直到找到全局作用域,这个查找的形成为作用域链. Javascript闭包函数:闭包就是能够读取其它函数内部变量 ...

  3. JavaScript——闭包函数及拓展题目

    文章目录 问题引入 一.闭包函数 1.什么是闭包函数? 2.步骤 3. 何时使用 4.代码结构 二.示例图解 如果要直接看结论,可跳过此处图解,直接看"三" 三.简化记忆 四.缺点 ...

  4. JavaScript闭包函数理解

    JavaScript闭包 一.变量的作用域: 要理解闭包,首先必须理解JavaScript特殊的变量作用域.      变量作用域无非就是两种:全局变量 和 局部变量.       JavaScrip ...

  5. JavaScript闭包函数详解

    目录 闭包函数 变量作用域 闭包的概念 闭包的用途 闭包的缺点 闭包函数 变量作用域 要理解JavaScript闭包,就要先理解JavaScript的变量作用域. 变量的作用域有两种:全局的和局部的( ...

  6. JavaScript闭包函数的理解与使用

    要理解闭包,首先理解javascript特殊的变量作用域,变量的作用域无非就是两种: 全局变量 局部变量 javascript语言的特殊处就是函数内部可以读取全局变量. 1.如何从外部读取局部变量 我 ...

  7. javascript闭包函数和匿名函数

    闭包的概念 各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数. 闭包的用途 1.读取函数内部的变量 2.让函数内部的变量的值始终保存在内存中 function f ...

  8. python中msg函数_Python 中闭包函数和装饰器

    一.闭包函数的概述 闭包 closure, 是一种代码的组织结构.当一个内嵌函数引用其外部作用域的变量,就形成一个闭包函数.闭包函数有一个内嵌函数,内嵌函数引用外部函数中的变量,外部函数的返回值是内嵌 ...

  9. php 闭包函数传参,PHP闭包函数传参及使用外部变量 PHP闭包函数传参及使用外部变量的方法...

    想了解PHP闭包函数传参及使用外部变量的方法的相关内容吗,小谈博客在本文为您仔细讲解PHP闭包函数传参及使用外部变量的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:PHP,闭包函数,传参, ...

最新文章

  1. javascript笔记:深入分析javascript里对象的创建(上)续篇
  2. Day6: Linux基础片:文件压缩、Vim用法
  3. 怎么用PHP语句做出增改删查功能,PHP、MYSQLI实现简单的增、删、改、查功能(初学者)...
  4. OpenStack Nova计算服务管理(四)
  5. 十一、飞机大战(IVX 快速开发教程)
  6. 递归算法 流程图_什么是算法?如何学习算法?算法入门的学习路径
  7. 单机最大tcp连接数
  8. Shell_Oracle Erp和其他系统Interface资料传输通过Shell进行控制(案例)
  9. 报错,Error in created hook: “SyntaxError: Unexpected token o in JSON at position 1“
  10. 【转载】 Single sign on
  11. laravel blade include使用变量_3分钟短文:可能是Laravel模板最直白的用法了,没有之一...
  12. php图片合并png保存图片大小,php缩放处理png和jpg图片
  13. spring cloud 搭建问题记录
  14. 计算机玩游戏重启,为什么我的电脑玩游戏的时候会不定时的自动重启?
  15. NMOS和PMOS的电路符号记忆方法
  16. 不足100克按100克C语言,C语言_第3章.ppt
  17. 微信小程序的socket.io即时通讯开发(基于E聊SDK)
  18. 修改 input checkbox(复选框) 选中的背景颜色 _@jie
  19. 青少年CTF-弱口令实验室招新赛部分wp复现步骤
  20. CSS禅意花园 —— 设计

热门文章

  1. 打算看的书或正在看的书
  2. RealSenseD435与ORB-SLAM2实现稠密建图
  3. python运行不了control+shift+i_Python不支持 i ++ 语法的原因解析
  4. 康复治疗学可以考计算机吗,【大揭秘】2018“人机对话”康复医学治疗技术专业技术资格考试...
  5. java 生成pdf itext_使用Java组件itext 生成pdf介绍
  6. python默认的一个代码缩进是几个空格_python缩进长度是否统一
  7. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...
  8. c语言统计26个英文字母各出现个数,网上答案汇总与分析——【输入一串英文,统计各单词出现的个数】...
  9. android用户引导页,android欢迎界面引导页
  10. python2的input,关于python2.x input函数的安全隐患