关于闭包的底层实现原理

js引擎会在对js代码编译之前,会在堆内存中创建一个Global Object(全局对象)对象内部存储了很多的属性和方法,里面也有window属性,只不过这个window属性的 属性值指向的Global Object(全局对象)  

闭包诞生于: 只要从Global Object(全局对象)这个根对象中能找到一个属性引用着一个函数,而且函数内部引用了外部作用域的变量,那么这个函数与外部被引用的变量绑在一起称为闭包

关于闭包的底层实现原理_第1张图片

 比如这里对应着如下图片

你可能感兴趣的:(javascript)