从编译原理浅谈闭包

本文通过编译原理的角度,深入浅出地解释了闭包的实现方式。分为三部分,介绍了变量分配、方法执行时的内存空间以及闭包的实现原理。通过JavaScript示例,阐述了闭包如何保留环境并允许外部访问,从而揭示了闭包的本质。

       刚学完编译原理,再来看闭包这个东西,感觉理解真的深入不少。下面讲一下闭包的一种实现方式,从三个部分解释。

      第一部分:

           当新增一个变量时,计算机会在一块内存空间内分配一个位置,并且记录下这个变量的名称与位置的对应关系。

           而这块内存空间,我们暂且称之为环境。

   第二部分:

      在执行方法时,计算机会新开辟一块内存空间,用来存放方法中的局部变量。

      下面我们来看一个javascript的例子

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值