Javascript闭包closure实例

闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数”

<html>
<script>
function a(){
    var i = 0
    function b(){
        alert(i++)
    }
    return b
}
var c = a()
c()
c()
</script>
</html>

函数b是定义在函数a内部的函数,所以可以读取函数a内部变量i,c指向的是函数a内部函数b的引用,因为被函数a外的变量持有,函数a不会被垃圾回收,形成了闭包

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,273评论 0 13
  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量...
    zock阅读 1,091评论 2 6
  • 闭包: 官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该...
    小裁缝sun阅读 650评论 0 5
  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量...
    zouCode阅读 1,296评论 0 13
  • 在币圈里,可能这是一篇比较冷门话题的文章——题记 “CUsRise”,球迷朋友们都知道,这是本赛季季后赛里,波士顿...
    jakeboom阅读 1,856评论 0 1