Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript闭包

JavaScript闭包

作者头像
HaC
发布于 2020-12-30 09:25:42
发布于 2020-12-30 09:25:42
33900
代码可运行
举报
文章被收录于专栏:HaC的技术专栏HaC的技术专栏
运行总次数:0
代码可运行

有一个例子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }

    return f2;

  }

输入:f1 输出:function f1() //返回一个function对象的f1

输入:f1()() 输出:

输入:nAdd 输出:function f1/nAdd() //返回一个function对象的nAdd,也有浏览器输出 function (){n+=1}

输入:nAdd 再输入:f1() 输出:

加上代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var result=f1();

  result(); // 999,   第一次alert(999)

  nAdd();

  result(); // 1000    第二次alert(1000)

代码参照:阮一峰的网络日志

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/09/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript之闭包问题以及立即执行函数
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53514804
大黄大黄大黄
2018/09/14
9950
JavaScript之闭包问题以及立即执行函数
深入浅出JavaScript之闭包(Closure)
阅读目录 闭包-无处不在 闭包的概念 闭包的用途 闭包-封装 常见错误之循环闭包 思考题 闭包(closure)是掌握Javascript从人门到深入一个非常重要的门槛,它是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面写下我的学习笔记~ 闭包-无处不在 在前端编程中,使用闭包是非常常见的,我们经常有意无意,直接或间接用到了闭包。闭包可以使传递数据更加灵活(比如处理一些点击事件) !function() { var localData = "lo
逸鹏
2018/04/11
5030
深入浅出JavaScript之闭包(Closure)
深入浅出JavaScript之闭包(Closure)
闭包(closure)是掌握Javascript从人门到深入一个非常重要的门槛,它是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面写下我的学习笔记~
哲洛不闹
2018/09/14
3970
深入浅出JavaScript之闭包(Closure)
JavaScript闭包(Closure)
上面的代码中,函数 f2 就被包括在函数 f1 内部,这时 f1 内部的所有局部变量,对 f2 都是可见的。
Leophen
2019/08/23
5850
理解JavaScript闭包
这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
OECOM
2020/07/01
5380
JavaScript闭包实例讲解
闭包是JavaScript语言中的难点,很多刚入行的(包括我在内)一时对他很难理解,于是在网上各种搜罗有关闭包的学习资料,但是无数的文章介绍闭包,但都是了解一个皮毛。说实在的我到现在也不敢和大家百分百的肯定掌握它。所以今天我就把我的整理的学习笔记分享给大家,希望能够对大家有用。
ZEHAN
2020/09/23
6540
JavaScript闭包
IMWeb前端团队
2017/12/29
7500
学习Javascript闭包(Closure)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。   var n=999;   function f1(){     alert(n);   }   f1(); // 99
ruanyf
2018/04/12
5570
Javascript闭包剖析(通俗易懂)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){ alert(n); } f1()
Marser
2018/06/25
3990
浅谈闭包
闭包 – closure, 应该可以说是javascript的一个难点吧, 其实说难也不难, 只是因为没有真正一个权威的人/书去给他一个真正的定义。 不过,学编程的人一路都要有自己的理解,很少人乐意去v死记一个定义。 自己看闭包也有很久了,但是每次回想起来又忘了自己改如何形容它, 它真的很难吗?其实并没有,每次看别人的博客,还是很快就能理清楚思路的, 于是终究还是要自己写下来,自己给自己一个理解。
用户1394570
2018/08/08
3640
javascript深入理解js闭包
一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码 var n=999;   function f1(){     alert(n);   }   f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量。 Js代码 function f1(){     var n=999;   }   alert(n); // error
用户1257215
2018/01/30
1K0
javascript深入理解js闭包
JavaScript经典面试题之for循环click
经典重现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function onMyLoad(){ var arr = document.getElementsByTagName("p"); for(var i = 0; i < arr.length; i++){ arr[i].onclick = function()
司想君
2018/03/01
8220
js 闭包
闭包 目录 闭包的概念 闭包的用途 代码实例 注意点 两个代码片段的对比 闭包的概念 简单来说,闭包就是定义在一个函数内部的函数 闭包的用途 可以读取函数内部的变量 让这些变量的值始终保持在内存中 代码实例 function f1(){ var n = 999 // 匿名函数 fnAdd = function(){n += 1} // 一个闭包 function f2(){ console.log(n) }
星辉
2019/01/15
2.4K0
JavaScript闭包原理与用法实例
(1)变量的作用域 不带有关键字var的变量会成为全局变量; 在函数中使用关键字var声明的变量是局部变量。 局部变量只有在函数内部才能访问到,在函数外面是访问不到的。但在函数内部可以通过作用域链一直向上搜索直到全局对象,也就是说,函数内部可以访问函数外部的变量。
Javanx
2019/09/04
6060
JavaScript闭包原理与用法实例
【前端芝士树】Js中的闭包是怎么一回事 && 笔试问题集锦
这涉及到var作为变量声明的关键词时所出现的一些问题。 比如,var 的 变量提升 以及 函数级作用域
CloudCat
2022/05/06
2400
JavaScript学习总结(三)——闭包、IIFE、原型、函数与对象
一、闭包(Closure) 1.1、闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9;方法:找到所有的div,
张果
2018/01/04
1.6K0
JavaScript学习总结(三)——闭包、IIFE、原型、函数与对象
JavaScript 闭包
闭包(closure)是 Javascript 语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
RiemannHypothesis
2022/10/28
3950
前端面试(2)javascript
当使用构造函数创建一个对象后,在这个对象内部包含一个指针,这个指针指向构造函数的 prototype 属性所对应的值,这个指针被称为对象的为原型。
leader755
2022/03/08
1.3K0
前端面试(2)javascript
JavaScript——作用域和闭包
本文着重于对 JavaScript 中的作用域和闭包机制进行剖析和说明,闭包本质上也是作用域的一种类型,因为在 JavaScript 里非常重要,所以我们把它在标题里单独列出来。
Html5知典
2019/11/26
7480
javascript闭包问题
并没有,在这里,var c = a(); 这段代码意思是将 a 方法的返回值赋值给变量 c ,那么 a() 的返回值就是 inc ,也就 function inc() ,
Krry
2018/09/10
4270
相关推荐
JavaScript之闭包问题以及立即执行函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验