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 相关文章推荐
用js遍历 table的脚本
Jul 23 Javascript
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
Javascript 数组排序详解
Oct 22 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
jQuery实现移动端手机商城购物车功能
Sep 24 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
Vue注册组件命名时不能用大写的原因浅析
Apr 25 Javascript
js验证账户名是否重复
May 26 Javascript
JavaScript 闭包的使用场景
Sep 17 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 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中fsockopen用法实例
2015/01/05 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
node文件批量重命名的方法示例
2017/10/23 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
使用C++扩展Python的功能详解
2018/01/12 Python
python实现机器学习之多元线性回归
2018/09/06 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
Django接收自定义http header过程详解
2019/08/23 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python实现批量文件重命名
2019/10/31 Python
JAVA中运算符的分类及举例
2015/09/12 面试题
2014年大学生就业规划书
2014/04/04 职场文书
海洋科学专业求职信
2014/08/10 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
投标单位介绍信
2015/05/05 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
PHP中strval()函数实例用法
2021/06/07 PHP