要理解闭包的概念,一句话,必须理解语法的上下文概念。
context。
语法分析的时候一个重要的概念就是上下文,
程序运行时的的一个重要概念也是上下文,在v8的引擎里面反复看到的一个类就是context。
闭包,形式上看就是一个函数里面包含另外一个函数,其实,和c++里面的class里面包含method是一回事,你执行class的method的时候,这个method是否要参考class的内容呢?如果要,javascript的闭包里面的function访问包含的它的那个function的变量也就不足为奇了。
本质是什么呢?是context的嵌套,每一个函数都有context,(编译时,运行时),如果要运行一个闭包的function,那么首先要进入闭包它的function(或者class)的context。
本文深入探讨闭包概念,解释其本质在于上下文的嵌套。通过类比C++中的类与方法,阐述了闭包如何在JavaScript中实现函数内部访问外部变量的功能。重点强调了在编译和运行时上下文的重要性,以及如何在闭包中利用这些上下文进行高效编程。
1417

被折叠的 条评论
为什么被折叠?



