JavaScript闭包个人愚见

js的变量大体分为全局变量,局部变量

不使用var声明变量默认为全局变量。JavaScript上级函数无法对子函数的变量进行操作也无法读取函数内部的变量,但JavaScript有着"链式作用域"结构,就是子函数可以对父层变量进行操作。

引用大神的话就是“闭包就是能够读取其他函数内部变量的函数”

也就是在函数内部再定义一个子函数并return给全局变量 然后这个函数变量就已是全局变量且值未清除

为啥会这样因为赋予给全局变量所以导致这个子函数一直存在于内存所以上层函数也在内存中

以上就是我一菜逼看了大神文章的理解

地址在此http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

你可能感兴趣的:(JavaScript闭包个人愚见)