<js>闭包

js的闭包本质是能够调用其他函数内部变量的函数。

形式上外部会返回内部函数,以便访问内部变量。

基本模型:

function outer()

{

 var a=0;

 function inner()

 {

  a++;

  alert(a);

 }

return inner; //返回调用

}

/*******************************/

var exe=outer();

exe();//1

exe();//2

/*******************************/

js产生的来源是函数的内部可以调用函数外部的全局变量,但外部无法调用函数内部变量,为了解决这个问题,引进了闭包机制,用return搭桥。


在以上实例中直接用outer调用内部a是不被允许的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量...
    zock阅读 1,086评论 2 6
  • 闭包: 官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该...
    小裁缝sun阅读 644评论 0 5
  • 闭包的理解 因为内部函数在被创建时,其作用域链对外部函数对应的变量对象存在一个引用,而JS采用引用计数的方法进行内...
    _士心_阅读 117评论 0 0
  • 从赤镇到芗城车站的车还要一个多小时才有,然而我已经不能等了,可是这个时候也没有别的车了。 我打电话给苗天华。苗天华...
    浮生万梦星耀烛天阅读 251评论 0 1
  • 第一次使用简书,试一下Markdown。![Hellow world] [id][id]: https://i.y...
    akak18183阅读 354评论 0 0