js中for循环的几种结束方法

break

单层循环

	// 单层循环
	for(var i = 1;i<6;i++){
		console.log(i);
		if(i > 3) break;
	}
	console.log(666)
	// 输出 1 2 3 4
	// 输出 666

嵌套循环

	// 不指定标识的嵌套循环
	for(var i = 1;i<4;i++) {
		for(var j = 1;j < 6;j++) {
			console.log(i * j)
			if(j > 2) break
		}
	}
	// 输出 1 2 3 2 4 6 3 6 9
	// break只会结束最里层的for循环,继续外面的for循环

指定标识的嵌套循环

	// 不指定标识的嵌套循环
	foo:for(var i = 1;i<4;i++) {
		for(var j = 1;j < 6;j++) {
			console.log(i * j)
			if(j > 2) break
			if( i > 2) break foo
		}
	}
	// 输出 1 2 3 2 4 6 3
	// break foo将会结束带有foo标识的for循环(或是代码块也可以),继续执行foo标识后面的代码块

在function中使用return

	(function(){
		for(var i = 1;i<4;i++) {
			for(var j = 1;j < 6;j++) {
				console.log(i * j)
				if(j > 2) return
			}
		}
		console.log(666)
	})()
	// 输出 1 2 3
	// 使用return不单单终止循环,还将不再执行后续的函数

带标签的循环 / 代码块十分少见,也不建议使用。不过在某些情况下它们也能派上用场,这时请务必将注释写清楚!


版权声明:本文为admin_jo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。