前端常见问题之-----闭包篇
闭包实际上在写代码的时候用到过很多遍,但是想要真正把它解释清楚却不容易。当然,这也是前端核心之一。开始吧
一:变量的作用域
变量的作用域无非两种:全局作用域和块级作用域(也就是在{}中的变量)
全局作用域:全局作用域可以被所有的函数所访问,即函数内部可以直接读取全局变量
块级作用域:变量只在{}范围内可以被访问到,即外部并不能访问到函数内部变量
二:如何从外部读取到局部变量?
正常情况下当然是不行的。那么可以转个弯想,如果在一个函数A内部再定义一个函数B,那么函数B是不是就可以访问到函数A中的值了,接着返回函数B。这样我们不是就可以在外部读取到函数A中的局部变量了吗
function A() {
var n=99;
function