zoukankan      html  css  js  c++  java
  • JavaScript的continue、break和return的区别

    1. continue、break和return的区别

    循环遍历。

    for(let i = 0; i < 5; i++){
    	console.log(i); // 0 1 2 3 4
    }
    

    使用continuebreakreturn

    for(let i = 0; i < 5; i++){
    	if(i==3){
    		continue;
    	}
    	console.log(i); // 0 1 2 4
    }
    
    for(let i = 0; i < 5; i++){
    	if(i==3){
    		break;
    	}
    	console.log(i); // 0 1 2
    }
    
    for(let i = 0; i < 5; i++){
    	if(i==3){
    		return;
    	}
    	console.log(i); // 0 1 2
    }
    

    我们可以看到continue跳出当前循环(即进入下次循环),而break跳出整个循环(即不再执行之后的循环)。
    这里return也是跳出循环,但其实returnbreak是有区别的。我们再看几个例子。

    (function foo(){
    	for(let i = 0; i < 5; i++){
    		if(i==3){
    			continue;
    		}
    		console.log(i); // 0 1 2 4 hello
    	}
    	console.log('hello');
    })();
    
    (function foo(){
    	for(let i = 0; i < 5; i++){
    		if(i==3){
    			break;
    		}
    		console.log(i); // 0 1 2 hello
    	}
    	console.log('hello');
    })();
    
    (function foo(){
    	for(let i = 0; i < 5; i++){
    		if(i==3){
    			return;
    		}
    		console.log(i); // 0 1 2
    	}
    	console.log('hello');
    })();
    

    提示:(function foo(){ //... })()是立即执行函数。

    我们看到使用return时,没有打印hello。因此,return除了跳出循环的作用外,还有跳出当前函数的作用。

  • 相关阅读:
    0421 & SX2016
    HDU3948 & 回文树模板
    BZOJ 2152 & 点分治
    HDU5618 & CDQ分治
    CC countari & 分块+FFT
    ECF R9(632E) & FFT
    ECF R9(632E) & DP
    BZOJ的两道osu概率DP easy与osu
    BZOJ3197 & 组合乱搞
    转载 Rational Rose 的配置和破解
  • 原文地址:https://www.cnblogs.com/gzhjj/p/11412966.html
Copyright © 2011-2022 走看看