⭐ 作者简介:码上言
⭐ 代表教程: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 语句在比较每个条件的值时会使用全等操作符,因此不会强制转换数据类型。