14 JavaScript学习:条件语句

简介: 14 JavaScript学习:条件语句

JavaScript条件语句

JavaScript中的条件语句主要用于根据条件执行不同的代码块。以下是对JavaScript条件语句概念的详细解释和分类:

  1. if语句
  • 单个if语句:最简单的条件语句,根据条件判断是否执行特定的代码块。
  • if…else语句:在条件成立时执行一段代码块,在条件不成立时执行另一段代码块。
  • if…else if…else语句:用于测试多种可能情况的语句。
  1. switch语句
  • switch…case语句:基于不同的条件值执行不同的代码块,适用于多个条件值的情况。
  1. 三元运算符
  • 使用 条件 ? 值1 : 值2 的形式,可以根据条件的真假返回不同的值。
  1. 逻辑操作符
  • 逻辑与(&&):当所有条件都为真时才执行相关代码。
  • 逻辑或(||):只要有一个条件为真就执行相关代码。
  • 逻辑非(!):将true转换为false,false转换为true。
  1. Falsy值和Truthy值
  • JavaScript中有Falsy和Truthy概念,Falsy值包括 false、0、‘’、null、undefined 和 NaN,其他值被视为Truthy值。
  1. 嵌套的条件语句
  • 可以在一个条件语句内部嵌套另一个条件语句,以实现更复杂的逻辑判断。
  1. 条件语句应用
  • 条件语句通常用于根据用户输入或程序状态来进行决策,可以实现按需执行不同的代码块。

通过合理使用上述条件语句,您可以根据特定条件执行相应的代码,从而实现灵活的控制流程和逻辑。这些条件语句的结合使用能够帮助您构建功能完善的JavaScript应用程序。

if语句

在JavaScript中,单纯的 if 语句用于根据特定条件执行一段代码。下面是一个简单的示例,演示了如何使用单纯的 if 语句:

let hour = 10;
if (hour < 12) {
    console.log('Good morning!');
}

在上面的示例中,如果 hour 的值小于12,则会输出 'Good morning!'。如果 hour 的值不满足条件,console.log 语句将不会被执行。

单纯的 if 语句非常适用于只有一个条件需要判断的情况。在实际编程中,您可以根据不同的条件来执行不同的代码块,实现程序的流程控制和逻辑判断。

if…else语句

在JavaScript中,if...else语句用于在条件为真时执行一段代码块,而在条件为假时执行另一段代码块。下面是一个示例,展示了如何使用if...else语句:

let age = 18;
if (age >= 18) {
    console.log('您已经成年!');
} else {
    console.log('您还未成年!');
}

在上面的示例中,如果age的值大于等于18,则会输出'您已经成年!';否则,会输出'您还未成年!'。这样可以根据年龄的不同来显示不同的提示信息。

if...else语句在需要根据条件选择不同路径执行代码块时非常有用。通过合理使用if...else语句,您可以实现更复杂的逻辑判断和流程控制。

if…else if…else语句

JavaScript中的if...else if...else语句允许您根据多个条件选择不同的代码块执行。这种语句非常适用于需要考虑多种情况的场景。以下是一个示例:

let time = 14;
if (time < 12) {
    console.log('早上好!');
} else if (time < 18) {
    console.log('下午好!');
} else {
    console.log('晚上好!');
}

在上面的示例中,根据time的不同值,会输出不同的问候语。如果time小于12,则输出'早上好!';如果time在12到18之间,则输出'下午好!';否则输出'晚上好!'

通过合理使用if...else if...else语句,您可以根据不同的情况选择执行相应的代码块,实现复杂的条件判断和程序流程控制。

if…else嵌套语句

在JavaScript中,您可以嵌套使用if...else语句来处理更复杂的条件逻辑。这种嵌套方式允许您在一个条件块内再包含另一个条件块。以下是一个简单的示例:

let hour = 10;
let minute = 30;
if (hour < 12) {
    console.log('上午');
    if (minute < 30) {
        console.log('整点');
    } else {
        console.log('半点');
    }
} else {
    console.log('下午或晚上');
}

在上面的示例中,根据小时数和分钟数的不同,会输出不同的提示信息。如果小时数小于12,则会进入嵌套的条件判断,根据分钟数输出不同的提示;否则,会直接输出’下午或晚上’。

通过嵌套使用if...else语句,您可以处理更加复杂的条件情况,但需要注意保持逻辑清晰,避免嵌套层级过深造成代码难以理解。

switch语句

在JavaScript中,switch语句用于根据表达式的值选择不同的代码块执行。switch语句比较表达式的值与不同的情况(case),并执行与该情况相对应的代码块。下面是一个switch语句的示例:

let day = 3;
let dayName;
switch (day) {
    case 0:
        dayName = '星期日';
        break;
    case 1:
        dayName = '星期一';
        break;
    case 2:
        dayName = '星期二';
        break;
    case 3:
        dayName = '星期三';
        break;
    case 4:
        dayName = '星期四';
        break;
    case 5:
        dayName = '星期五';
        break;
    case 6:
        dayName = '星期六';
        break;
    default:
        dayName = '无效的日期';
}
console.log('今天是' + dayName);

在上面的示例中,根据day的值不同,会选择不同的case执行相应的代码块。如果day的值为3,则输出'今天是星期三'。如果day的值不在0到6之间,则会执行default下的代码块,输出'无效的日期'

switch语句通常用于对一个表达式的多个可能值进行检测,并根据不同的值执行不同的代码块。

default关键字

在JavaScript中,default关键字通常与switch语句一起使用。当switch语句的表达式值不匹配任何case时,会执行default下的代码块。这种情况下,default充当了备选方案,处理未被明确指定的情况。

在您提供的示例中,如果day的值不在0到6之间(即不是代表星期的有效取值),则会执行default下的代码块,将dayName设置为’无效的日期’,以提示用户输入的日期无效。

default关键字在switch语句中是可选的,但在处理一些未预期的情况时,它可以作为一种安全机制,确保代码在面对未知情况时有一个明确的处理方式。

if…else和switch的不同应用场景

if...else语句和switch语句在JavaScript中都是用来进行条件判断的,但它们适用的场景略有不同:

  1. if...else语句
  • 用于处理逻辑较为复杂、条件相互独立的情况。
  • 可以处理范围型的条件判断,如区间或多个不同条件之间的关系。
  • 可以包含多个条件和嵌套的条件。
  • 可以处理条件数量不确定或值域非离散的情况。
  1. switch语句
  • 适用于针对一个表达式的不同取值执行不同的操作。
  • 当需要根据单个变量的不同取值进行多重选择时,switch会比if...else更加简洁。
  • 当存在大量等值匹配的情况下,switch通常比多个if...else效率更高。
  • 当出现连续的谓词判断时,switch通常不适用,因为switch只支持等值匹配。

总的来说,如果您需要进行范围判断或者条件之间有交互关系、嵌套关系时,使用if...else更为适合;而当需要根据单一变量的不同取值进行简单的路由选择时,可以选择switch语句。

三元运算符

三元运算符是一种在许多编程语言中都存在的条件表达式。它通常由一个条件表达式和两个可能的结果组成。在JavaScript中,三元运算符的语法如下所示:

condition ? expr1 : expr2

如果条件为真,则返回expr1的值;如果条件为假,则返回expr2的值。三元运算符的主要优点是简洁性,特别是在一些简单的条件情况下可以取代if...else语句,使代码更为简洁明了。

以下是一个示例:

let age = 20;
let message = (age >= 18) ? '成年人' : '未成年人';
console.log(message); // 输出:'成年人'

在这个示例中,如果age大于或等于18,则message被赋值为’成年人’,否则被赋值为’未成年人’。

尽管三元运算符在简单的情况下非常有用,但当条件变得复杂或者需要执行多个语句时,使用if...else语句可能更易读和易于维护。

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步

相关文章
|
27天前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
3天前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
4天前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
3天前
|
JavaScript 前端开发 Oracle
软件工程师,学习下JavaScript ES6新特性吧
软件工程师,学习下JavaScript ES6新特性吧
21 9
|
4天前
|
JavaScript 前端开发 算法
紧跟月影大佬的步伐,一起来学习如何写好JS(下)
该文章延续了上篇的内容,进一步探讨了编写优秀JavaScript代码的实践,强调了代码风格一致性、性能优化、团队约定的重要性,并通过实际案例分析了如何在不同场景下写出合适的代码。
|
2月前
|
JSON 前端开发 JavaScript
|
19天前
|
存储 JSON JavaScript
学习node.js十三,文件的上传于下载
学习node.js十三,文件的上传于下载
|
2月前
|
JavaScript 前端开发 iOS开发
学习强大的JavaScript一行代码,能够节省你的时间和代码量
这段内容介绍了25个实用的JavaScript一行代码技巧,涵盖复制内容到剪贴板、打乱数组、颜色值转换、计算平均值、检查数字奇偶性、数组去重、对象为空检测、字符串反转、日期计算、首字母大写、生成随机字符串、四舍五入、清除Cookie、检测暗黑模式等,帮助开发者提高效率并简化代码。
23 2
|
2月前
|
JavaScript 前端开发 小程序
基于js开发快速学习鸿蒙基础
【8月更文挑战第26天】
37 1
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
57 1