JavaScript闭包

原创 2015年11月21日 17:46:03

  闭包,是指在语法域位某个特定的区域,具有持续参照(读写)位于该区域内
自身范围之外的执行域上的非持久型变量值能力的段落.这些外部执行域的
非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(举杯连结).


  闭包通常是在动态语言中才有的概念,它是某些可以访问外部执行域的段落
JavaScript中的闭包,是通过定义在函数体内部的function来实现的.


  闭包和函数的关系,应当类似于一种动态生静态,结构和实例的关系.


  闭包可以外部环境,也可以写外部环境


例子:


//定义一个计数器生成函数,生成某种类型的计数器
function counter(iden,addi){
  //闭包"外部",函数counter"内部"的参数iden的值在闭包被调用时的时候会被改变
  return function(){
    //改变iden的值
    iden = iden+addi;
    console.log("--iden"+iden);
    return iden;
  }
}
//产生一个从0开始计数,每次计数值加1的计数器
var c1 = counter(0,1);
//产生一个从10开始计数,每次数值减1的计数器
var c2 = counter(10,-1);
for(var i=0 ; i<10 ;i++){
  //循环计数
  c1();
}
for(var i=0 ; i<10 ;i++){
  //循环计数
  c2();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

javaScript闭包

  • 2013-02-04 16:08
  • 546KB
  • 下载

JavaScript闭包.pdf

  • 2013-03-19 13:15
  • 546KB
  • 下载

node.js 与 javascript (通过闭包)如何简化事件驱动编程风格

本篇博客记录的是自己《nodejs高级编程》的笔记,内容非常基础= = 定义:当感兴趣的事件发生时由系统调用的函数来取代应用返回值的编程风格被称为事件驱动编程或者异步编程,这个是node的显著特征。...

Javascript 闭包完整解释

  • 2012-11-20 15:30
  • 100KB
  • 下载

javascript 闭包

  • 2013-06-08 07:15
  • 49KB
  • 下载

javascript深入理解js闭包

转自:http://www.jb51.net/article/24101.htm 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域...

JavaScript闭包

理解_JavaScript_闭包

  • 2011-12-27 16:37
  • 51KB
  • 下载

深入理解javascript闭包

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)