在 JavaScript 中,条件语句是非常常见的结构,用于根据不同的条件执行不同的代码。ES6 中新增了一些特性,使得条件语句更加灵活和强大,让我们更加方便地编写代码。
if、else 和 else if
if、else 和 else if 是三种最基本和常见的条件语句,用于根据条件执行不同的代码块。
if 语句
if 语句用于在满足条件时执行某段代码块:
if (condition) { // 执行代码 }
例如,如果条件 num > 0
成立,就执行一些代码:
let num = 10; if (num > 0) { console.log('num 是正数'); } // 输出:num 是正数
else 语句
else 语句用于在条件不满足时执行某段代码块:
if (condition) { // 执行代码1 } else { // 执行代码2 }
例如,如果条件 num > 0
不成立,就执行另一些代码:
let num = -10; if (num > 0) { console.log('num 是正数'); } else { console.log('num 不是正数'); } // 输出:num 不是正数
else if 语句
else if 语句在条件不满足时,用于执行更多的条件判断。它可以连续使用多个 else if 语句,形成一个复杂的判断逻辑。
-- -------------------- ---- ------- -- ------------ - -- ----- - ---- -- ------------ - -- ----- - ---- -- ------------ - -- ----- - ---- - -- ----- -
例如,如果数字 num
大于 0,输出 'num 是正数';如果 num
等于 0,输出 'num 是零';如果 num
小于 0,输出 'num 是负数':
-- -------------------- ---- ------- --- --- - ---- -- ---- - -- - ---------------- ------ - ---- -- ---- --- -- - ---------------- ----- - ---- - ---------------- ------ - -- ------ ---
Switch 语句
Switch 语句用于根据不同的条件执行不同的代码块。与 if、else 和 else if 不同,Switch 语句执行速度更快。
Switch 语句的基本结构如下:
-- -------------------- ---- ------- ------ ------------ - ---- ------- -- ----- ------ ---- ------- -- ----- ------ -------- -- ----- -
其中,expression 是要进行匹配的表达式,value1 和 value2 是要匹配的值,case 后面的代码块是要执行的代码,break 用于退出 Switch 语句,default 语句用于在没有匹配项时执行的代码。
例如,根据今天是星期几执行不同的代码块:
-- -------------------- ---- ------- ----- ----- - --- ---------------- ------ ------- - ---- -- ---------------------- ------ ---- -- ---------------------- ------ ---- -- ---------------------- ------ ---- -- ---------------------- ------ ---- -- ---------------------- ------ ---- -- ---------------------- ------ ---- -- ---------------------- ------ -------- -------------------------- -
以上代码将根据今天是星期几输出不同的信息。
总结
在 JavaScript 编程中,条件语句是非常重要和常见的结构。if、else 和 else if 可以实现基本的条件判断和分支执行,Switch 语句则更加灵活和高效,适用于多种情况下的条件判断。我们需要根据具体的场景选择不同的条件语句,结合其他类型的语句实现更加复杂和强大的功能。
我希望这篇文章能够帮助读者更好地理解和使用 ES6 中的条件语句,并从中获得更多的编程经验和实践技巧。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64571c3f968c7c53b09f25b2