千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 跳出if语句,该如何做?

跳出if语句,该如何做?

来源:千锋教育
发布人:xqq
时间: 2023-11-22 02:55:56 1700592956

一、利用逻辑表达式

1、用逻辑运算符(例如&&,||),将多个条件连接起来,使得在满足某一个条件时就跳出if语句。例如:


if (a > 10 || b < 5 && c == 0) {
    // do something
}

当a大于10,或者b小于5并且c等于0时,就执行if块中的内容,而不用再继续判断后面的条件。

2、利用三元运算符(例如?:),使得在满足某一个条件时就跳出if语句。例如:


a > 10 ? doSomething() : doNothing();

当a大于10时,执行doSomething()函数,否则执行doNothing()函数,而不用再继续执行后面的if语句块。

二、利用break语句

1、在switch语句中,利用break语句跳出switch语句:


switch (n) {
    case 1:
        // do something
        break;
    case 2:
        // do something else
        break;
    default:
        // do something when n is not 1 or 2
        break;
}

当n等于1或2时,就执行相应的case语句块,然后跳出switch语句。当n不是1或2时,执行default语句块,然后也跳出switch语句。

2、在循环语句中,利用break语句跳出循环:


while (condition) {
    // do something
    if (needToBreak) {
        // exit the loop
        break;
    }
}

当满足needToBreak条件时,就退出循环,并不再执行循环内的语句块。

三、利用函数封装

1、将需要跳出if语句的代码块封装到一个函数中,在函数内部使用return语句跳出函数,也就相当于跳出了if语句。例如:


function doSomething() {
    if (a > 10) {
        // do something
        return;
    }
    // continue to do something else
}

当a大于10时,执行// do something注释所标注的代码块,并跳出doSomething函数,不再执行任何代码。

2、将需要跳出if语句的代码块封装到一个标记函数中,在函数内部使用标记语句(label statement)跳转到标记位置,也就相当于跳出了if语句。例如:


function doSomething() {
    function endFunction() { /* end */ }
    if (a > 10) {
        // do something
        endFunction();
    }
    // continue to do something else
}

当a大于10时,执行// do something注释所标注的代码块,并跳转到endFunction函数的位置,不再执行任何代码。

四、利用try-catch语句

在try语句块中尝试执行需要跳出if语句的代码块,如果执行成功,就使用throw语句抛出一个异常,然后捕获该异常并在catch语句块中跳出if语句。例如:


try {
    if (a > 10) {
        // do something
        throw 'break if';
    }
    // continue to do something else
} catch (e) {
    if (e === 'break if') {
        // jump out of the if statement here
    }
}

当a大于10时,执行// do something注释所标注的代码块,并在throw语句中抛出'break if'异常。然后在catch语句块中捕获该异常,判断异常值是否等于'break if',如果是,就跳出if语句块。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT