JavaScript基础学习(9)

作者简介:码上言


代表教程:Spring Boot + vue-element 开发个人博客项目实战教程


专栏内容:个人博客系统


我的文档网站:http://xyhwh-nav.cn/


微信公众号:码上言

语句

流控制语句

1. if 语句

语法如下:

if (condition) statement1 else statement2

这里的条件(condition)可以是任何表达式,并且求值结果不一定是布尔值。ECMAScript 会自动调用 Boolean()函数将这个表达式的值转换为布尔值。如果条件求值为 true,则执行语句statement1;如果条件求值为 false,则执行语句 statement2。最佳实践是使用语句块,即使只有一行代码要执行也是如此。

连续使用多个 if 语句,语法如下:

if (i > 25) { 
 console.log("大于25"); 
} else if (i < 0) { 
 console.log("小于0"); 
} else { 
 console.log("在0和25之间,包含0,25"); 
}

2. do-while 语句

do-while 语句是一种后测试循环语句,循环体内代码在退出前至少要执行一次。do-while 的语法如下:

do { 
 statement 
} while (expression);

3. while 语句

while 语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。语法如下:

while(expression) statement

4. for 语句

for 语句是先测试语句,增加了进入循环之前的初始化代码,以及循环执行后要执行的表达式,语法如下:

for (initialization; expression; post-loop-expression) statement

5. for-in 语句

for-in 语句是一种严格的迭代语句,用于枚举对象中的非符号键属性,语法如下:

for (property in expression) statement

ECMAScript 中对象的属性是无序的,因此 for-in 语句不能保证返回对象属性的顺序。所有可枚举的属性都会返回一次,但返回的顺序可能会因浏览器而异。
如果 for-in 循环要迭代的变量是 null 或 undefined,则不执行循环体。

6. for-of 语句

for-of 语句是一种严格的迭代语句,用于遍历可迭代对象的元素,语法如下:

for (property of expression) statement

for-of 循环会按照可迭代对象的 next()方法产生值的顺序迭代元素。

7. 标签语句

标签语句用于给语句加标签,语法如下:

label: statement

例子:

start: for (let i = 0; i < 10; i++) { 
 console.log(i); 
}

在这个例子中,start 是一个标签,可以在后面通过 break 或 continue 语句引用。标签语句的典型应用场景是嵌套循环。

8. break 和 continue 语句

break 和 continue 语句为执行循环代码提供了更严格的控制手段。其中,break 语句用于立即退出循环,强制执行循环后的下一条语句。而 continue 语句也用于立即退出循环,但会再次从循环顶部开始执行。

9. with 语句

with 语句的用途是将代码作用域设置为特定的对象,其语法是:

with (expression) statement;

使用 with 语句的主要场景是针对一个对象反复操作,如下面的例子所示:

let qs = location.search.substring(1); 
let hostName = location.hostname; 
let url = location.href;
with(location) { 
 let qs = search.substring(1); 
 let hostName = hostname; 
 let url = href; 
}

严格模式不允许使用 with 语句,否则会抛出错误。

10. switch 语句

switch 语句是一种流控制语句,从其他语言借鉴而来。ECMAScript中 switch语句跟 C 语言中 switch 语句的语法非常相似,如下所示:

switch (expression) { 
 case value1: 
 statement 
 break; 
 case value2: 
 statement 
 break; 
 case value3: 
 statement 
 break; 
 case value4: 
 statement 
 break; 
 default: 
 statement 
}

这里的每个 case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”break关键字会导致代码执行跳出 switch 语句。如果没有 break,则代码会继续匹配下一个条件。default关键字用于在任何条件都没有满足时指定默认执行的语句(相当于 else 语句)。

switch 语句可以用于所有数据类型,因此可以使用字符串甚至对象。其次,条件的值不需要是常量,也可以是变量或表达式。例子:

switch ("hello world") { 
 case "hello" + " world": 
 console.log(1); 
 break; 
 case "goodbye": 
 console.log(2); 
 break; 
 default: 
 console.log(3); 
}

switch 语句在比较每个条件的值时会使用全等操作符,因此不会强制转换数据类型。

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值