闭包

  • 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

你可能感兴趣的:(闭包)