欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  JavaScript内嵌函数
 
  所有函数都能访问全局变量。
 
  实际上,在JavaScript中,所有函数都能访问它们上一层的作用域。
 
  JavaScript支持嵌套函数。嵌套函数可以访问上一层的函数变量。
 
  该实例中,内嵌函数plus()可以访问父函数的counter变量:
 
  实例
 
  function add(){
 
  var counter=0;
 
  function plus(){counter+=1;}
 
  plus();
 
  return counter;
 
  }
 
  如果我们能在外部访问plus()函数,这样就能解决计数器的困境。
 
  我们同样需要确保counter=0只执行一次。
 
  我们需要闭包。
 
  JavaScript闭包
 
  还记得函数自我调用吗?该函数会做什么?
 
  实例
 
  var add=(function(){
 
  var counter=0;
 
  return function(){return counter+=1;}
 
  })();
 
  add();
 
  add();
 
  add();
 
  //计数器为3
 
  实例解析
 
  变量add指定了函数自我调用的返回字值。
 
  自我调用函数只执行一次。设置计数器为0。并返回函数表达式。
 
  add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。
 
  这个叫作JavaScript闭包。它使得函数拥有私有变量变成可能。
 
  计数器受匿名函数的作用域保护,只能通过add方法修改。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64747.shtml