JavaScript中break、continue和return语句

JavaScript中break、continue和return语句


一. 标签语句

代码块定义标签:

1. 标签名 :代码块(循环、条件判断等)

2. 标签名:{
				代码...
		   }

注意:

  1. break和continue是JavaScript中唯一可以使用语句标签的语句
  2. 标签名不能是JavaScript保留关键字
  3. 标签的命名空间和变量或函数的命名空间是不同的,所以标签名可以和变量或函数名一样
  4. 标签语句只有在被标识的代码块中才起作用

二. break语句

  1. 单独使用break语句(出现在循环或者switch类的语句快中才合法): 立即退出最内层的循环或switch语句
  2. break后带有标签语句: break 标签名
    1. break和标签一起使用时,程序会跳转到标签所标识的语句块的结束,可跳出多层循环
    
    2. break和标签名之间不要带换行,因为JavaScript可以给语句自动补全省略的分号
    
    3. 示例代码 :
    	var mattix = getData() // 从某处得到一个二维数组
    	// 将二维数组所有元素进行求和
    	var sum = 0, success = false
    	// 从标签名开始,以便在报错时退出程序
    	compute_sum : if(matrix) { // 判断获得的数组是否为空
    		for(let x = 0; x< matrix.length; x++) { // 遍历二维数组中的每一项
    			let row = matrix[x] // 保存遍历的项
    			if(!row) break compute_sum // 判断获得的数组是否为空
    				for(let y = 0; y < row.length; y++) { // 遍历一维数组中的每一项
    					let cell = row[y] // 保存遍历的项
    					if(isNaN(cell)) break compute_sum // 判断获得的元素是否为数字类型
    					sum += cell // 逐项求和
    				}
    		}
    	}
    
    4. 不管break语句带不带标签,它的控制范围都无法超过所在函数的边界。比如,对于一条带标签的函数语句来说,不能从函数内部通过这个标签来跳转到函数外部
    

三、continue语句

  1. continue语句和break语句非常相似,但它不是退出循环,而是转而执行下一次循环,用法和break类似:
    1. 直接使用: continue
    
    2. 带标签使用: continue 标签名
    
    不管continue语句带不带标签,它只能在循环体内使用,在其他地方使用会报错
  2. 遇到continue时,在不同循环的行为区别:
    1. 在while、do/while循环中,直接跳转到循环条件判断处,根据判断条件决定是否再循环
    
    2. for循环中,首先计算自增表达式,然后在根据判断条件决定是否再循环
    
    3. for/in循环中,直接开始遍历下一个属性名。
    
    与break类似,可跳出多层循环,语句与标签名之间也不能换行

四、return语句

  1. return语句只能在函数体内出现,函数体内执行到return语句时,函数会终止,并将返回值给调用的程序,返回值即是return语句后表达式的值

  2. 如果函数没有return语句,则函数调用仅依次执行函数体内每一条语句直到函数结束,返回值为undefined

  3. return语句经常放在函数结尾,但不一定只能放在结尾,函数执行到return时,如果后续还有代码将不会被执行。而且函数与返回值之间不能有换行,因为JavaScript可以自动插入分号,否则会返回undefined。return语句也可以单独使用,返回值为undefined


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值