for循环与闭包

for循环和闭包

今天记录for循环和闭包的使用:for(var i = 0 ; i < lis.length ; i++) {lis[i].onclick=function(i){return function(){console.log(i)}}(i);
}
在for循环里面执行闭包的时候,将循环体的代码储存在一个内存中,对应的i值也储存在了内存中(闭包不销毁变量)。事件点击的时候是执行return之后的函数,在执行的时候,因为作用域的原因,使用的是事件之后的函数中的i值,这个i值在循环的时候已经储存为了对应的值,因此一次事件执行取到的i值都不一样。
作用域的问题:
var  i = 5;
function fn(){var i = 2;return function(){console.log(i)i++}
}
var f = fn();f();    >>>2
f(); >>>3
fn()();  >>>2先找局部作用域中的,局部没有找上级,上级还没有,就一直往上级找,直到window(全局作用域)。闭包的扩展:jQueryjquery本身就是一个大的闭包。
1.$('div') 获取的是一个集合,但是这个集合中的每一项都可以执行对应的事件,并且有自己的索引值。
理解:当这个集合执行点击事件的时候形成了一个闭包,这个闭包里面有一个变量对应着div的下标,这个变量就是for循环时候对应的i值。

转载于:https://www.cnblogs.com/rainbow8590/p/7096191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab画图技巧之消除空白(二)

在上一篇博客中,我们介绍了最基本的消除空白的情况,但是实际的应用往往比较复杂。为了让读者更清楚的了解消除空白的技巧,本文再提供两个稍微 复杂一点的例子。

人工智能与人类智能的竞赛:人机对抗智能技术全梳理

作者: 黄凯奇*, 兴军亮, 张俊格, 倪晚成, 徐博来源&#xff1a;中国科学院自动化研究所智能系统与工程研究中心1引言人工智能从诞生之始就以对抗人类智能为衡量准则(著名的图灵测试) 。作为人工智能研究的前沿方向&#xff0c;人机对抗技术一直是国内外人工智能研究的热点,以人…

Vue computed参数与各生命周期关系(主要是异步的时候)

前面聊了vue生命周期与路由的先后顺序&#xff0c;现在聊聊computed与各生命周期。先聊一下需求背景&#xff0c;我在做一个图表的时候遇到了&#xff0c;我将图表样式封装为一个组件&#xff0c;然后各个地方需要的时候将数据通过props传入到组件自动画图。因为我这个数据会变…

场景切割CVPr2022 SceneSegmentation

目录 算法介绍 无监督训练原理 源码地址: lstm模块 bilstm opencv场景分割 加阈值:

工业机器人 答案 韩建海_不可或缺:协作机器人对于制造业转型升级的意义

只要谈到自动化&#xff0c;就很难不提到协作机器人。自从十几年前协作机器人问世以来&#xff0c;它们便承担起了众多企业的自动化任务。新冠之前&#xff0c;英国制造业正在应对英国退欧和劳工短缺的不确定性。但是&#xff0c;他们无法预见新冠对行业的影响。任何行业都无法…

Python爬虫用Selenium抓取js生成的文件(一)

简介任务简述实现过程 简介 我最近在看关于计算机的一些书籍,发现了这个电子书清单:计算机开放电子书汇总, 和大家分享一下. 我在下载其中的书籍时被导向了这个很好的计算机电子书网站KanCloud看云,里面有非常多的实用的编程方面的电子书,很多是该网站自己用html生成的,格式多…

golang 升级到新版本_Scikit-learn新版本发布,一行代码秒升级

十三 发自 凹非寺 量子位 报道 | 公众号 QbitAIScikit-learn&#xff0c;这个强大的Python包&#xff0c;一直深受机器学习玩家青睐。而近日&#xff0c;scikit-learn 官方发布了 0.22 最终版本。此次的更新修复了许多旧版本的bug&#xff0c;同时发布了一些新功能。安装最新版…

重磅:2020年度获国家科学技术奖励提名的材料项目汇总

来源&#xff1a;http://www.nosta.gov.cn/upload/2020slxmgb/showProject.html转自&#xff1a;材料人2020年3月24日&#xff0c;科学技术部发布了《国家科学技术奖励工作办公室公告第95号》文件。这份文件对2020年国家自然科学奖、国家技术发明奖通用项目、国家科学技术进步奖…

完全理解Android中的RemoteViews

一、什么是RemoteViewsRemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteViews之间依赖Binder实现了进程间通信.二、RemoteViews的用法RemoteViews使用最多的场合是通知栏和桌面小插件. 以通知栏为例,讲解下它…

各大媒体优劣对比_吉利星瑞特别版对比朗逸,亮点只有性价比?

据悉&#xff0c;吉利汽车推出了星瑞特别版车型——星瑞设计师推荐款&#xff0c;新车已于10月11日的11:00开启抢购&#xff0c;限量3000辆&#xff0c;抢购价格为13.77万元。其中值得注意的是&#xff0c;新车的抢购流程有所不同&#xff0c;想参与抢购的消费者需要先完成吉利…

【推广】实用命令——tldr

碎碎念如题&#xff0c;通常遇到一个新的命令需要查询其帮助的时候&#xff0c;一般使用command -h或者man command来查询&#xff0c;但是&#xff0c;有时候仅仅想知道这个命令怎么用&#xff0c;并不想知道具体含义啊(这个命令可能不常用&#xff0c;没有必要仔细阅读手册)&…

Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!

图片来源&#xff1a;https://cn.bing.com本文系生物谷原创编译&#xff0c;欢迎分享&#xff0c;转载须授权&#xff01;研究人员发现了一种直接将皮肤细胞重新编程成用于视觉的光敏杆状感光器的技术。实验室制造的杆状体使失明的老鼠能够在细胞移植到眼睛后探测到光线。这项研…

时间组件选择一个时间段_衡南(光伏支架组件安装)施工队

衡南(光伏支架组件安装)施工队光伏支架安装本行业的技术人员应该了解&#xff0c;本发明不受上述实施例的限制&#xff0c;上述实施例和说明书中描述的只是说明本发明的原理&#xff0c;在不脱离本发明精神和范围的前提下&#xff0c;本发明还会有各种变化和改进&#xff0c;安…

保留小数点后两位小数

toFixed() 转载于:https://www.cnblogs.com/ytg1120/p/7101317.html

DNA存储,拯救人类数据危机的良方?

来源&#xff1a;脑极体开一个脑洞&#xff1a;如果地球正在面临一场马上到来的毁灭性星际灾害&#xff0c;人类又想尽可能地保存地球的生命和文明&#xff0c;在现有条件下&#xff0c;该怎么办&#xff1f;像大刘一样让地球停止自转然后逃离太阳系&#xff0c;这恐怕来不及了…

oracle数据库dblink创建语句_「运维实验」——达梦数据库DBlink连接Oracle配置

经过昨天达梦数据库间DBlink配置&#xff08;具体操作可回看上一篇文章&#xff09;&#xff0c;今天做延伸实验。实验环境说明Oracle数据库1&#xff1a;192.168.80.40 ora11g RHEL 6.5 64位达梦数据库1&#xff1a;192.168.80.41 DMSERVER2 RHEL 6.5 64位oracle数据库版本&am…

JS相似属性区别

1、prop与attr区别在浏览器中&#xff0c;有的要写成disabled disabled&#xff0c;checked"checked",有的只要写disabled就可以了&#xff0c;比如用attr("checked")获取checkbox的checked属性时&#xff0c;选中的时候可以取到值&#xff0c;值为checked…

智能经济的动力,从人工智能到超级智能

作者&#xff1a;刘锋前言&#xff1a;本文是根据研讨会发言形成的探讨性文章&#xff0c;主要阐述了智能经济的产生本质上是科技生态发生重大变化后的产物。提出智能经济运转的动力除了人工智能&#xff0c;人类的智能&#xff0c;互联网大脑模型的超级智能也是新出现的要素。…

损失函数_SRGAN损失函数(目标函数)详解

概要SRGAN的特点之一就是引进了损失感知函数&#xff0c;由此提升了超分辨率之后的细节信息。本文主要像您介绍SRGAN使用的损失函数&#xff0c;及其Keras实现。损失函数公式这是原文中给出的损失函数。容易看出&#xff0c;此损失函数包括两部分&#xff0c;第一部分是感知损失…

PHP获取本月起始和终止时间戳

一、本月起始和结束 //获取本月开始的时间戳 $beginThismonthmktime(0,0,0,date(m),1,date(Y)); //获取本月结束的时间戳 $endThismonthmktime(23,59,59,date(m),date(t),date(Y)); View Code二、上月起始和结束 写法一&#xff1a; $m date(Y-m-d, mktime(0,0,0,date(m)-1,1,…