当前位置:首页 > 日记 > 正文

JavaScript闭包的简单应用

JavaScript闭包的简单应用

闭包定义

在JavaScript中,当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。简单说,闭包就是能够读取其他函数内部变量的函数。

闭包的作用:

1. 可以读取函数内部的变量
2. 让这些变量的值始终保持在内存中。
闭包简单应用

例一:

function a() {   var i = 0;  function b() {  console.log(++i); }  return b;}      var c = a();  //执行完var c=a()后,变量c指向了函数b,再执行c()后就会显示i的值(为1)。c();    //输出1

例二:

(function() { var i = 0;  return function(){   console.log(++i);  }})()();     //输出1

例三:

(function(i) {  return function(){   console.log(++i);  }})(0)();     //输出1

例四:

for (var i = 0; i < 3; i++) { setTimeout((function(i) {      return function() {   console.log(i);  }; })(i), 2000); console.log(i+10);}      //输出 10 11 12 (隔两秒后)0 1 2

例五:

for (var i = 0; i < 3; i++) { setTimeout((function(i) {  return function() {   console.log(i);  }; })(i)(), 2000); console.log(i+10);}      //立即输出 0 10 1 11 2 12 ,(两秒后运行程序结束)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

excel2007怎样设置同时冻结行和列

excel2007怎样设置同时冻结行和列

设置,冻结,方法,电脑软件,  现在使用Word 2010和Excel 2010的人越来越多,但使用的广泛性并不代表其中的功能都容易掌握,今天,小编就教大家怎样在Excel 2010中冻结首行和首列的,只要你按照图示上的标示和数字一步步操作,欢迎大家来到学习。Exce…

jQuery Pagination分页插件_动力节

jQuery Pagination分页插件_动力节

分页,节点,插件,学院,动力,插件简介?此jQuery插件为Ajax分页插件,一次性加载,故分页切换时无刷新与延迟,如果数据量较大不建议用此方法,因为加载会比较慢。?原插件CSS不太合理,使用浮动,故无法方便实现左右方向的定位,且未清除浮动,在中文修改版中…

WPS表格中文字如何设置左右和上下

WPS表格中文字如何设置左右和上下

文字,方法,设置,表格,如何设置,  它在文字处理软件市场上拥有统治地位。WPS软件不仅仅是关于文字那么简单,下面我们一起学习它的功能吧。WPS表格中文字设置左右和上下居中的方法表格打开Word文档,在菜单栏中选择&ldquo;插入&rdquo;,点击&ldq…

Angular使用Md5加密的解决方法

Angular使用Md5加密的解决方法

解决方法,加密,电脑软件,Angular,一、现象用户登录时需要记住密码的功能,在前端需要对密码进行加密处理,增加安全性二解决1、利用npm(如果没有,先自行安装npm)安装ts-md5npm install ts-md5 --save-dev2、在使用的页面中导入import { Md5 } fr…

PS怎么设计一幅卷轴水墨山水画效果

PS怎么设计一幅卷轴水墨山水画效果

山水画,卷轴,一幅,水墨,效果图,ps中想要将山水画处理成水墨效果,放到画卷中,处理成水墨山水画效果,该怎么操作呢?下面我们就来看看详细的教程。软件名称:Adobe photoshop 7.01 官方正式简体中文版软件大小:154MB更新时间:2013-04-191、首先我们需…

Node.js查找当前目录下文件夹实例

Node.js查找当前目录下文件夹实例

实例代码,查找,目录下,电脑软件,Node,整理文档,搜刮出Node.js查找当前目录下文件夹实例代码,稍微整理精简一下做下分享。var http = require("http");var fs = require("fs");var server = http.createServer(function (req,res) { //不…

js实现加载淡入淡出效果

js实现加载淡入淡出效果

加载,淡入淡出,效果,电脑软件,js,本文实例为大家分享了js图片加载淡入淡出效果展示的具体代码,供大家参考,具体内容如下HTML代码首先是图片标记的写法:<img data-src="/path/to/image.jpg" alt="">需要将图片的地址放到 data-src 属性里,而…

基于ES6 Array.of的用法 | 实例讲

基于ES6 Array.of的用法 | 实例讲

实例,电脑软件,Array,ES6为Array增加了of函数用已一中明确的含义将一个或多个值转换成数组。因为,用new Array()构造数组的时候,是有二意性的。构造时,传一个参数,表示生成多大的数组。构造时,传多个参数,每个参数都是数组的一个元素。const arr1…

BootStrap table删除指定行的注意

BootStrap table删除指定行的注意

删除,注意事项,笔记,电脑软件,BootStrap,这里一定要做一个笔记,这个问题花了好几个小时,问题虽小,但是从中获得一定经验。问题:对于table指定行的数据进行删除,仅仅是前端实现!方法有两种:1、使用官方文档的数据(反正我试了2个小时都不行,如有大神请…

excel插入变成空白怎么办excel插入

excel插入变成空白怎么办excel插入

解决方法,插入图片,空白,电脑软件,excel,  EXCEL具备强大的数据分析工具和数据处理功能,在使用Excel表格时插入图片,发现有空白,这样的表格很不美观。但是又不知道怎么去掉,这该怎么办呢?下面小编来告诉你吧。excel插入图片变成空白的解决方…

jquery 判断是否支持Placeholder属

jquery 判断是否支持Placeholder属

属性,方法,支持,判断是否,电脑软件,实例如下://placeholder兼容性function isPlaceholer(){ var input = document.createElement('input'); return "placeholder" in input;}该函数的结果返回 true or false以上这篇jquery 判断是否支…

word在方框里打勾的三种方法word怎

word在方框里打勾的三种方法word怎

方法,方框,三种,电脑软件,word,  有时我们在Word中制作一份特殊的表格时,可能会用到这样一些特殊符号,&ldquo;在方框里打钩&rdquo;。那么下面就由小编为大家分享下word中在方框里打勾的技巧,希望能帮助您。word在方框里打勾方法一步骤一:打开…