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 相关文章推荐
jquery简单体验
Jan 10 Javascript
极酷的javascirpt,让你随意编辑任何网页
Feb 25 Javascript
javascript一些不错的函数脚本代码
Sep 10 Javascript
JavaScript prototype对象的属性说明
Mar 13 Javascript
js 3秒后跳转页面的实现代码
Mar 10 Javascript
JavaScript必知必会(三) String .的方法来自何方
Jun 08 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
vue的安装及element组件的安装方法
Mar 09 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 Javascript
详谈Object.defineProperty 及实现数据双向绑定
Jul 18 Javascript
让你一句话理解闭包(简单易懂)
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 MemCached高级缓存配置图文教程
2010/08/05 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP如何将XML转成数组
2016/04/04 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
Vue实现验证码功能
2019/12/03 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
Python的time模块中的常用方法整理
2015/06/18 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
python opencv调用笔记本摄像头
2019/08/28 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
python如何实现图片压缩
2020/09/11 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
党支部书记先进事迹
2014/01/17 职场文书
逃课检讨书
2015/01/26 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python