javascript闭包概念简单解析(推荐)


Posted in Javascript onJune 03, 2016

关于"闭包"这个概念的文章在网上铺天盖地,基本已经稀烂了,但是有时候总感觉读了这么多的文章还是云山雾罩,当然是由于它本身就比较难于理解和涉及的知识较多,还有一个很重要的原因就是网上很多教程介绍可能存在一定的误区,或者说侧重点不同,下面就通过代码实例简单的介绍一下什么是闭包。

代码实例一:

function a(){  
var webName="三水点靠木"; 
console.log(webName); 
} 
a()

以上是一段非常简单的代码,当函数执行结束之后,它就会从内存中释放,里面的声明的局部变量也将在内存中被释放,自然就无法被访问,在网上很多例子中,大多涉及到了作用域问题,其实一旦涉及作用域问题就和“闭包”概念就离题了,尽管作用域和"闭包"存在一定的关系。

再来看一段代码:

function a(){ 

var webName="三水点靠木"; 

function show() { 

console.log(webName); 

} 

return show; 

} 

var func = a(); 

func();

以上代码就形成了一个典型的闭包,函数a()执行之后,在它内部声明的变量webName依然可以使用。

说了这么多,闭包到底是什么,下面做一下总结:

闭包是一个概念,它描述了函数执行完毕内存释放后,依然内存驻留的一个现象,只要把握这个核心概念,闭包就不难理解了。

以上这篇javascript闭包概念简单解析(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript String对象扩展HTML编码和解码的方法
Jun 02 Javascript
js捕获鼠标滚轮事件代码
Dec 16 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
Apr 03 Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 Javascript
用js制作淘宝放大镜效果
Oct 28 Javascript
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
十分钟带你快速了解React16新特性
Nov 10 Javascript
Javasript设计模式之链式调用详解
Apr 26 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
Sep 28 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
让你一句话理解闭包(简单易懂)
Jun 03 #Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
Jun 03 #Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 #Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 #Javascript
浅谈JavaScript的push(),pop(),concat()方法
Jun 03 #Javascript
Jquery中map函数的用法
Jun 03 #Javascript
JavaScript进阶练习及简单实例分析
Jun 03 #Javascript
You might like
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python实现从字典中删除元素的方法
2015/05/04 Python
python常用函数详解
2016/09/13 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python发送邮件脚本
2018/05/22 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
执行力心得体会
2013/12/31 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
实践单位评语
2014/04/26 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
关于的python五子棋的算法
2022/05/02 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers