js闭包

闭包:

		function test() {
			var arr = [];
			for(var i = 0;i < 10;i++) {
				arr[i] = function(){
					console.log(i+" ");
				}
			}
			return arr;
		}
		var myArr = test();
		for(var j = 0;j< 10 ;j++) {
			myArr[j]();
		}
	
	10 10 10 10......
在函数内部通过添加一个匿名函数解决闭包产生的问题
              function test() {
			var arr = [];
			for(var i = 0;i < 10;i++) {
				(function(j){
					arr[j] = function(){
					console.log(j+" ");
					}

				}(i));
			}
			return arr;
		}
		var myArr = test();
		for(var j = 0;j< 10 ;j++) {
			myArr[j]();
		}



本文来自投稿,不代表微擎百科立场,如若转载,请注明出处:https://www.w7.wiki/develop/3070.html

发表评论

登录后才能评论