博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中的闭包
阅读量:6587 次
发布时间:2019-06-24

本文共 612 字,大约阅读时间需要 2 分钟。

各种专业文献上的"闭包"(closure)定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。

由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。
所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包的例子

// 在函数定义的外面加上圆括号就可以直接调用    var a = (function() {    var _foo = 1    return {        // 返回的这个 object 中, 有 get 和 set 两个函数        // 这两个函数都引用了 _foo 变量        // 所以 _foo 变量不会消失, 但别人也访问不到, 这就是所谓的闭包        get: function(){        return _foo        },        set: function(v){        _foo = v        }    }    })()    console.log('闭包 get', a.get())    a.set('2')    console.log('闭包 get', a.get())

参考资料

转载于:https://www.cnblogs.com/geniusrun/p/10605362.html

你可能感兴趣的文章
ASP.NET Core 使用 Alipay.AopSdk.Core 常见问题解答
查看>>
spring @Value 设置默认值
查看>>
带你从零学ReactNative开发跨平台App开发(十一)
查看>>
java 生成zip文件并导出
查看>>
atitit.userService 用户系统设计 v4 q316 .doc
查看>>
1224 - 搞定 iText 识别文字后翻译
查看>>
《iOS 8开发指南(第2版)》——第6章,第6.3节在Xcode中实现MVC
查看>>
机器人快速崛起:5年内消失510万工作岗位
查看>>
内存泄漏和内存溢出的区别
查看>>
pageinspect分析btree索引结构
查看>>
Jtable Auto Resize Column
查看>>
如何友好地展示findbugs分析报告
查看>>
postgresql 时间类型和相关函数
查看>>
JavaScript权威设计--JavaScript语言核心(简要学习笔记一)
查看>>
”一个封锁操作被对 WSACancelBlockingCall 的调用中断“。解决办法
查看>>
【原创】sysbench 使用总结
查看>>
android:theme决定AlertDialog的背景颜色
查看>>
递归练习(C语言)
查看>>
线性表的链式表示和实现
查看>>
由"缓存"到"Memcached分布式缓存"
查看>>