闭包可以解决函数外部无法访问函数内部变量的问题

通过闭包我们可以让函数中的变量持久保持。来看。

 function fn(){var num = 0;return function(){num+=1;alert(num);   };  }var f = fn();f(); //1f(); //2

因为函数一旦调用里面的内容就会被销毁,下一次调用又是一个新的函数

 function fn(){var num = 5;num+=1;alert(num);}  fn(); //6fn(); //6

我们首页定义了一个fn函数,里面有个num默认为0,接着返回了一个匿名函数(也就是没有名字的函数)。我们在外部用f接收这个返回的函数。这个匿名函数干的事情就是把num加1,还有我们用来调试的alert。

  这里之所以执行玩这个函数num没有被销毁是因为那个匿名函数的问题,因为这个匿名函数用到了这个num,所以没有被销毁,一直保持在内存中,因此我们f()时num可以一直加

 var name = "The Window";var object = {name : "My Object",getNameFunc : function(){return function(){return this.name;};}};alert(object.getNameFunc()());

object.getNameFunc()返回了一个匿名函数:

function(){
return this.name; };this对象是在运行时基于函数的执行环境绑定的, 匿名函数的执行环境具有全局性, 因此匿名函数的this指向window

 var name = "The Window";var object = {name : "My Object",getNameFunc : function(){var that = this;return function(){return that.name;};}};alert(object.getNameFunc()());

 

转载于:https://www.cnblogs.com/renzm0318/p/8966640.html

大白话讲解闭包笔试题相关推荐

  1. 一道指针压轴笔试题讲解 (进阶指针必看)

    今天我来给大家讲解一道指针压轴笔试题,同时也是进阶指针知识必会的一道题.相信大家在认真梳理清楚这道题后,对指针的知识了解定会更上一层楼 ~ 话不多说,上题目 : 请问程序输出结果是什么 ? 相信大家一 ...

  2. k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解

    目录标题 一.题目信息 二.解题思路 三.代码实现 四.其他精选题目分享 一.题目信息 LeetCode版本 牛客网版本 下面我以牛客网为例写代码 题目需要先输入一组数字代表链表的值,以#代表结尾. ...

  3. 大华测试笔试题_互联网校招非技术岗的这三类笔试题目你都清楚了吗?

    截至7月1日,已有10+名企开启了秋招提前批:字节跳动.京东.虎牙.浪潮.vivo.京东方.英特尔.中信证券.大华股份.正略咨询.海尔等. 根据往年经验,秋招提前批其中以互联网企业为主,提前批的开启往 ...

  4. 机器学习笔试题精选(五)

    https://blog.csdn.net/red_stone1/article/details/81296337 机器学习是一门理论性和实战性都比较强的技术学科.在应聘机器学习相关工作岗位时,我们常 ...

  5. 【前端】2015阿里前端实习生在线笔试题

    网上找的题,自己做了做. ... 2015阿里巴巴前端实习生在线笔试题 1. (单项选择)对于下列程序运行结果,符合预期的是 function f1() { console.time('time sp ...

  6. Java面试笔试题大汇总三(最全+详细答案)

    Java面试笔试题大汇总一(最全+详细答案):https://www.jianshu.com/p/73b6b3d35676 Java面试笔试题大汇总二(最全+详细答案)https://www.jian ...

  7. 深度解析Objective-C笔试题

    2011-08-11 17:39 佚名 互联网 字号:T | T 本文介绍的是Objective-C笔试题,先来问一个,为什么很多内置类如UITableViewController的delegate属 ...

  8. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  9. 前端笔试题面试题记录(下)

    前言 接上篇前端笔试题面试题记录(上).趁清明小长假,把上篇剩下的部分也写一下,因为最近比较忙这篇已经拖了很久了.现在刚刚开始银四了,应该还是有些小伙伴在找工作,时间还不算太晚,希望本篇可以帮到这些小 ...

最新文章

  1. 2019年首期“医工结合科研创新支持计划”项目申报获批:医工携手 强校强国...
  2. 人类如何接近“宇宙无限”?微积分的力量无处不在
  3. App分享之微信微博等各个社交平台的分享授权规则和常见问题
  4. 2016-1-4作业
  5. 在一个SQL Server表中的多个列找出最大值
  6. linux中的FTP服务配置详解
  7. zoj-4011(动态规划)
  8. Linux内核: 分析coredump文件
  9. table row设置cell的html,css中display设置为table、table-row、table-cell后的作用及其注意点...
  10. 【转】C#开发笔记之05-迭代器中的状态机(State Machine)到底是什么?
  11. 以太坊智能合约部署与交互
  12. 无人驾驶中UTM坐标系GPS坐标系相关知识总结
  13. 当国际贸易撞上AI,会产生怎样的化学反应?
  14. Symbian 如何如何调用Wap浏览器
  15. 7年阿里Java人教你:秒杀活动就应该这样玩?
  16. MAC系统重置root密码
  17. vue中echarts使用案例:饼图(可直接使用)
  18. rails 调试工具pry 换掉debugger 和 rails c
  19. 破解STM32F103芯片的方法
  20. python兔子_python学习:关于生兔子问题

热门文章

  1. Yann Lecun纽约大学《深度学习》2020课程笔记中文版,干货满满!
  2. 谷歌 NAS + 目标检测:SpineNet论文详解
  3. 你一笑,AI就变聪明了?微软最新研究提出“微笑训练法”
  4. SAP RETAIL初阶之事务代码MP83 显示一个预测参数文件
  5. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析
  6. 公安领域知识图谱不断升温 或成AI下一风口
  7. MachineLN博客目录
  8. 干货丨科普丨大牛的《深度学习》笔记,Deep Learning速成教程
  9. 《数学之美》第5章 隐含马尔可夫模型
  10. 【报告】2021物联网行业研究报告(附PDF下载)