资讯专栏INFORMATION COLUMN

return/break语句的妙用

Batkid / 2774人阅读

摘要:在里面,一般我们想让程序在里面执行到一半时,经过判断或者完成某种操作后停止执行后面的代码,会用结束掉。可以在中间加入多个作为断点,控制逻辑的流程。

在JavaScript里面,一般我们想让程序在function里面执行到一半时,经过判断或者完成某种操作后停止执行后面的代码,会用return结束掉function。

例如:

//去除前后的空格
function spaceWord(vRet){

</>复制代码

  1. if(!vRet) return vRet;
  2. //条件循环 当不满足自身的条件的时候继续循环,当达到条件的时候 终止运行 一般用return
  3. //while这样的循环语句可以中断代码的执行,
  4. while (true) {//推出条件
  5. if (vRet.indexOf (" ") == 0) {
  6. vRet = vRet.substring(1, parseInt(vRet.length));
  7. } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf (" ") == parseInt(vRet.length) - 1)) {
  8. vRet = vRet.substring(0, parseInt(vRet.length) - 1);
  9. } else {
  10. return vRet;//使用return 终止运行 跳出执行体
  11. }
  12. }

}
console.log(spaceWord(spaceStr));

但是,如果我要做多层的判断,而且要中断的只是其中一个判断后面的代码呢?

function(){

</>复制代码

  1. //代码1...
  2. if(stopRun == true){
  3. //代码2 ...
  4. if(cando == false){
  5. return
  6. }
  7. //代码3 ...
  8. }
  9. //代码4 ...

}

如果使用return 终止运行,则代码3与代码4则不能执行;

对用这种需求妙用break来实现代码的中断,而不结束整个函数。

例如:
var stopRun = true,cando = false;
function ww(){

</>复制代码

  1. //代码1...
  2. while(stopRun == true){
  3. //代码2 ...
  4. console.log(2)
  5. if(cando == false){
  6. break
  7. }
  8. //代码3 ...
  9. console.log(3)
  10. break
  11. }
  12. //代码4 ...
  13. console.log(4)

}

上面的逻辑,当执行到代码2语句时,遇到break语句,则代码跳出循环执行代码4 则运行输出为:2 4;则证明代码3被阻止了,但是没有阻止函数的运行;

break不能在if里面用,但是可以在循环里面用,所以用while这样的循环语句可以中断代码的执行,理论上所有循环都可以实现该功能,选择while是因为它简洁而且可以代替if做判断。
!!!注意!!!while最后记得加上一个break,不然会变成死循环。

可以在while中间加入多个if()break作为断点,控制逻辑的流程。
function(){

</>复制代码

  1. var a=0;
  2. while(a==0){
  3. console.log("我要")
  4. a++
  5. if(a!=1)break
  6. console.log("我再要")
  7. a++
  8. if(a!=2)break
  9. console.log("我还要")
  10. break
  11. }

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102592.html

相关文章

  • switch语句妙用

    摘要:注意必须把运算符的结果进行显示转换为布尔值,才能匹配因为的表达式的返回值不是布尔类型,它返回的是表达式中第一个为或第一个为的那个值所以,只要你想得到的,只要符合规则,都能用实现就是不知道这样写的代码好不好了 switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); b...

    scola666 评论0 收藏0
  • for in妙用

    摘要:前两天在看司徒正美的框架设计,看到了一个模拟方法的函数,怎能如此之妙语句在可用于遍历对象中的属性与方法在上面的方法中,就用到了语句,其中的就相当于中的就这样,遍历到的属性就巧妙的到了里面。 前两天在看司徒正美的《javascript框架设计》,看到了一个模拟Object.keys()方法的函数,怎能如此之妙!!! function keys(obj){ var a = []; ...

    陈伟 评论0 收藏0
  • 如何给列表降维?sum()函数妙用

    摘要:上个月,学习群里的同学问了个题目,大意可理解为列表降维,例子如下想得到结果原始数据是一个二维列表,目的是获取该列表中所有元素的具体值。不经意间,函数的注意事项,竟把其它的进阶内容都联系起来了。小小的函数,竟成为学习之路上的一个枢纽。 上个月,学习群里的 S 同学问了个题目,大意可理解为列表降维 ,例子如下: oldlist = [[1, 2, 3], [4, 5]] # 想得到结果:...

    Channe 评论0 收藏0

发表评论

0条评论

Batkid

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<