前端小知识点(6):听了好多闭包,这次可能最懂

目录

一、作用域和作用域链

二、闭包

三、无意间共享环境[可以通过闭包解决]

代码一

结果一

 代码二

结果二

 代码三

结果三


一、作用域和作用域链

    
    当函数声明的时候,函数会通过内部属性[scope]来记录创建范围

二、闭包


    什么是闭包:闭包是一个函数加上到创建函数的作用域的连接,闭包“关闭”了函数的自由变量。


第一句话(得到的理解):2个函数,2个函数作用域[scope]还要连接上;
第二句话(得到的理解):关闭函数的变量自由:它暂时不会销毁;


三、无意间共享环境[可以通过闭包解决]

代码一

var str = '123';function fn(){var str = '456';console.log( str );
}fn();

结果一

 代码二

function fun(n){return function(m){n+=m;return n;}	}//第一步
var f = fun(5);
//第二步console.log(  f(1)  );console.log(  f(1)  );console.log(  f(1)  );

结果二

 代码三

var lis = document.getElementsByTagName('li');for(var i=0;i<lis.length;i++){(function(){var idx = i;lis[i].onclick = function(){console.log(idx);}})();}

结果三

 

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

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

相关文章

Linux下如何挂载FAT32格式USB设备

From: http://hi.baidu.com/enovo/blog/item/c901eb249c0783064c088db3.html 挂u盘之前&#xff0c;运行命令cat /proc/partitions,看看现在系统中有哪些分区。插上u盘以后&#xff0c;再次运行上述命令&#xff0c;看看多出来什么分区.通常是sda1. 1、插入U盘 2、输入 fdisk…

Linux的Qt编译出现:-1: error: cannot find -lGL问题的解决方法

Qt是支持跨平台的C图形用户界面应用程序开发框架&#xff0c;在一个平台上开发好应用程序可以在多个平台方便移植。 在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中&#xff0c;在构建项目时出现以下编译问题&#xff1a; error: cannot find -lGL。 即&#xf…

git rebase原理(转)

git rebase 不会取回代码 要用git fetch先取回&#xff0c; git rebase 是合并代码。 &#xff08;1&#xff09;首先用git fetch返回服务器上的代码 &#xff08;2&#xff09;首先用git rebase origin/master 合并 &#xff08;3&#xff09;如果发生冲突了会提示&#xff0c…

How to uninstall Internet Explorer 7

How to uninstall Internet Explorer 7 http://support.microsoft.com/kb/927177/en-us (1)如果没有安装SP3&#xff0c;请参考下文。 (2)如果安装SP3&#xff0c;请参考http://support.microsoft.com/kb/950719/en-us You cannot uninstall Internet Explorer 7 or Internet E…

前端小知识点(7):正则前瞻

目录 一、js中的正则表达式&#xff0c;只有前瞻没有后顾 正向前瞻&#xff1a;(?) 》匹配符合的 代码1 结果1 代码2 结果2 一、js中的正则表达式&#xff0c;只有前瞻没有后顾 正向前瞻&#xff1a;(?) 》匹配符合的 负向前瞻&#xff1a;(?!) 》匹配不…

c语言编译生成cpp,C语言的编译过程

编译&#xff1a; 编译程序读取源程序(字符流)&#xff0c;对之进行词法和语法的分析&#xff0c;将高级语言指令转换为功能等效的汇编代码&#xff0c;再由汇编程序转换为机器语言&#xff0c;并且按照操作系统对可执行文件格式的要求链接生成可执行程序。流程&#xff1a;C源…

VC++ 读取和保存文件对话框及默认目录

From: http://blog.csdn.net/miaoshengwu/article/details/1627283 void Openfile() {// TODO: Add your control notification handler code here//显示文件打开对话框CFileDialog dlg(TRUE, "EC", "*.aes", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, &qu…

设置启用树莓派的HDMI显示

树莓派所有的启动初始化都是在config.txt中完成的&#xff0c;因此&#xff0c;若插入HDMI树莓派没有显示桌面&#xff0c;则是没有配置HDMI。 首先在找到config.txt&#xff0c;两种方法&#xff1a; 第一种方法&#xff0c;将SD卡取出&#xff0c;用读卡器在windows上找到&…

c语言程序报告基本数据类型,C语言程序设计试验报告-基本数据类型和表达式-范本9(8页)-原创力文档...

PAGE安庆职业技术学院电子信息系实验报告(C语言程序设计)实验序号&#xff1a;第 1次实验名称&#xff1a;基本数据类型和表达式实验日期&#xff1a;实验成绩&#xff1a;90一、实验目的及要求(本次上机实践所涉及并要求掌握的知识点。)1.掌握C语言数据类型的种类和作用&#…

易经初学体会

易经初学体会 易经的占卜过程像是在做游戏&#xff0c;会让人对本来崇拜的神秘易经产生怀疑&#xff0c; 其实易经的占卜的推导过程是有科学依据的&#xff0c;是在长期实践和科学验算的过程中总结的公式&#xff0c;是古人对统计学的运用和总结&#xff0c;就像我们很难怀疑数…

前端小知识点(8):作者为什么设计原型

目录 一、从古代说起 二、Brendan Eich的选择 三、new运算符的缺点 四、prototype属性的引入 五、总结 六代码部分 一、从古代说起 要理解Javascript的设计思想&#xff0c;必须从它的诞生说起。 1994年&#xff0c;网景公司&#xff08;Netscape&#xff09;发布了Navi…

Windows 文件同步方案讨论

在日常运维工作中&#xff0c;经常会遇到这样的情况&#xff1a;我们需要在无人值守的情况下完成文件、文件夹的同步过程&#xff0c;已实现周期性的备份&#xff0c;避免单点故障。本研究实现了本地Windows主机与远程Windows主机&#xff0c;本地Windows主机与远程Linux主机目…

vs2008打开vs2010工程项目

From: http://blog.csdn.net/sonicrang/article/details/7387676 http://blog.csdn.net/godson_h/article/details/6575874 由于软件的向下兼容&#xff0c;vs2010可以打开vs2008项目&#xff0c;但是vs2008打开vs2010时会出现一些错误提示。解决办法如下&#xff1a;1. 替换…

递归求和的复习-计算m~n整数和

题目&#xff1a;实现一个计算m~n&#xff08;m<n&#xff09;之间所有整数的和的简单函数。 说明&#xff1a;接口函数int sum(int m, int n); 输入已经保证m < n. 采用递归算法来实现&#xff0c;其他类似&#xff0c;复习一下递归算法&#xff1a;1、退出条件 2、递…

c#语言float转换int,C#Float表达式:将结果float转换为int时的奇怪行为

我有以下简单代码&#xff1a;int speed1 (int)(6.2f * 10);float tmp 6.2f * 10;int speed2 (int)tmp;speed1并且speed2应该具有相同的值&#xff0c;但实际上&#xff0c;我有&#xff1a;speed1 61speed2 62我知道我可能应该使用Math.Round而不是强制转换&#xff0c;但…

前端小知识点(9):函数和对象之间的关系

目录 函数与对象之间的关系 代码演示 运行结果 函数与对象之间的关系 函数 有什么 &#xff1a; 函数也是对象 函数有&#xff1a;prototype 对象 有什么 对象&#xff1a;__proto__ 原型对象里面有什么&#xff1a;constructor 代码演示 //fun是一个函数&#xf…

【DICOMDIR专题】DICOMDIR基础知识及常见问题汇总

很多网友希望论坛能够出一些更专业、更细分的小专题&#xff0c;DICOMDIR就是目前需求量较大的专题之一。所以&#xff0c;结合网友所需&#xff0c;与几个关心此内容的朋友一起努力&#xff0c;做了一个小专题&#xff0c;希望对你有一些帮助&#xff5e;&#xff5e;DICOMDIR…

struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表

From: http://yangelc.blog.sohu.com/68245920.html Linux 用户态与内核态的交互 在 Linux 2.4 版以后版本的内核中&#xff0c;几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的&#xff0c;例如iprote2网络管理工具&#xff0c;它与内核的交互就全部使用了…

Ubuntu 14.10 下运行进程实时监控pidstat命令详解

简介 pidstat主要用于监控全部或指定进程占用系统资源的情况&#xff0c;如CPU&#xff0c;内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数…

Linux 给Qt应用软件创建图标启动

一、描述 Ubuntu源码编译安装Eclipse和Qt后&#xff0c;没有自动创建图标&#xff0c;每次启动需要进入到目录下运行脚本&#xff0c;比较麻烦。 可通过创建类似于windows系统的快捷方式进行快捷启动。 快捷方式一般以.desktop后缀命名&#xff0c;并保存到/usr/share/appli…