博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
闭包的示例以及带来的问题
阅读量:7000 次
发布时间:2019-06-27

本文共 953 字,大约阅读时间需要 3 分钟。

 
//返回函数数组,以为内部函数保存着func2函数的活动对象,所以引用的都是同一个变量,因此每个i的值都为10,比如执行func2()[0]()结果为10function func2() {	var result = new Array();	for (var i = 0; i < 10; i++) {		result[i] = function() {			return i;		};	}	return result;}

//返回函数数组,因为num是复制i值,不是引用,所以每个num取值不一比,如执行func4()[0]()结果为0

function func4() {
var result = new Array();

for (var i = 0; i < 10; i++) {

result[i] = function(num) {
return function() {
return num;
}
}(i);
}
return result;
}

//返回[0,1,2,3,4,5,6,7,8,9]function func1() {	var result = new Array();	for (var i = 0; i < 10; i++) {		result[i] = i;	}	return result;}//返回[0,1,2,3,4,5,6,7,8,9]function func3() {	var result = new Array();	for (var i = 0; i < 10; i++) {		result[i] = function() {			return i;		}();	}	return result;}//返回[0,1,2,3,4,5,6,7,8,9]function func5() {	var result = new Array();	for (var i = 0; i < 10; i++) {		result[i] = function(num) {			return num;		}(i);	}	return result;}
 

  

转载于:https://www.cnblogs.com/echo2016/p/6811296.html

你可能感兴趣的文章
发现一个国内牛逼的maven仓库,速度真的太快了
查看>>
Snmp配置
查看>>
使用java实现CNN的实战
查看>>
大白话系列之C#委托与事件讲解(二)
查看>>
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
iCheck表单美化插件使用方法详解(含参数、事件等)
查看>>
IOS UIAlertController 使用方法
查看>>
MySQL存储过程 事务transaction
查看>>
93. [NOIP2001] 数的划分
查看>>
c++友元实现操作符重载
查看>>
LeetCode_Maximum Depth of Binary Tree
查看>>
MongoDB入门学习(一):MongoDB的安装和管理
查看>>
beans.factory.BeanCreationException beans.factory.annotation.Autowired(required=true)
查看>>
grep常见使用方法总结
查看>>
视频云的选型调研
查看>>
MySQL 性能调优的10个方法
查看>>
http协议的再次理解
查看>>
Android 利用Gson生成或解析json
查看>>
License友好的前端组件合集
查看>>
OCR 基本知识
查看>>