- js的作用域分为全局作用域,和函数作用域, 内部作用域可以访问外部作用域的函数参数,外部不能访问内部函数的变量和参数。闭包就是为了能够访问内部作用域引申出来的概念。是作用域的衍生品
var n = 5;
function fn(){
console.log(n)
}
fn()//5
function fn(){
var n = 0;
}
console.log(n)// n undefined 报错
闭包示例
function outer(){
var n = 2013;
add = function(){
n+=1;
}
return function(){
console.log(n)
}
}
var num = outer();
add()
num() //2014
add()
num()//2015
网友评论