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 不只是脚本
May 30 Javascript
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
Mar 25 Javascript
网页防止tab键的使用快速解决方法
Nov 07 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
基于jquery二维码生成插件qrcode
Jan 07 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 Javascript
微信小程序实现展示评分结果功能
Feb 15 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
vue+iview实现分页及查询功能
Nov 17 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 日期加减的类,很不错
2009/10/10 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
实例Python处理XML文件的方法
2015/08/31 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python实现简易内存监控
2018/06/21 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
公司证明怎么写
2014/09/22 职场文书
公司文体活动总结
2015/05/07 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸