Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527031
  • 博文数量: 39
  • 博客积分: 1046
  • 博客等级: 准尉
  • 技术积分: 895
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 16:50
文章分类

全部博文(39)

文章存档

2013年(8)

2012年(31)

分类: JavaScript

2013-05-09 10:14:58

用js做代码例子,如下

点击(此处)折叠或打开

  1. function make_add(val){
  2.     var v=val;
  3.     return function(x){ return v+x;}
  4. }
  5. var add1=make_add(1);
  6. var add3=make_add(3);
  7. console.log(add1(1));
  8. console.log(add3(1));
  9. console.log(add1(3));
make_add 返回一个函数,这里闭包的作用就是体现在make_add内的v,本是局部变量,但是事实上,在外部调用add1和add3时,各自内的v值依然有效。
就像是v的值被锁在了各自的对象中(1被锁到add1中,3被锁到add3里)
非常简单明了的例子,记一下。。
阅读(2722) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~