首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >js --- return返回值 闭包

js --- return返回值 闭包

作者头像
小蔚
发布于 2019-09-11 15:43:25
发布于 2019-09-11 15:43:25
5.8K0
举报
文章被收录于专栏:小蔚记录小蔚记录

什么是闭包?这就是闭包!

有权访问另一个函数作用域内变量的函数都是闭包。这里 inc 函数访问了构造函数 a 里面的变量 n,所以形成了一个闭包。

代码语言:javascript
复制
function a(){
  var n = 0;
  function inc(){
    n++; 
    console.log(n);
  }
  return inc;
}
var c = a();
c();  //控制台输出1
c();  //控制台输出2

var c = a(),这一句 a()返回的是函数 inc,那这句等同于 var c = inc;

c(),这一句等同于 inc(); 注意,函数名只是一个标识(指向函数的指针),而()才是执行函数。

后面三句翻译过来就是: var c = inc; inc(); inc();,跟第一段代码有区别吗? 没有。

代码语言:javascript
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档