1 if
if 、else-if、else语句是使用最频繁的语句之一,
if (i > 25)
console.log("Greater than 25."); // 只有一行代码的语句
else {
console.log("Less than or equal to 25."); // 一个语句块
}
2 switch
switch 语句是与 if 语句紧密相关的一种流控制语句,从其他语言借鉴而来。ECMAScript中 switch
语句跟 C 语言中 switch 语句的语法非常相似。
用于根据不同的条件执行不同的操作。使用 switch 选择要执行的许多代码块之一。这是长的嵌套 if/else 语句的完美解决方案。
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
expression必需。指定要计算的表达式。表达式会被计算一次。表达式的值与结构中每个 case 标签的值进行比较。如果匹配,则执行相关的代码块。
switch与if-else有什么区别?什么时候该用if-else?什么时候该用switch?
简单来说就是:if-else偏向于是非选择、switch-case偏向于情况的列举。
switch (index) {
case 0:
this.activeTabName = 'all'
break
case 1:
this.activeTabName = 'done'
break
case 2:
this.activeTabName = 'read'
break
case 3:
this.activeTabName = 'undoce'
break
}
if (type === 'migrate') {
res = await startMigrateData()
} else if (type === 'delete') {
res = await deleteMigrateData()
} else if (type === 'result') {
res = await getMigrateData()
} else if (type === 'initCach') {
res = await initCach()
}
//这段代码更适合用switch-case语句来写
//从代码简洁度、时间复杂度、运行效率来说都是switch-case更加
3 循环语句
3.1 for
for 语句创建循环,只要条件为真就执行该循环。
只要条件为真,循环就会继续运行。只有当条件变为假时它才会停止。
for (i = 0; i < 5; i++) {
console.log(i)
}
for (;;) {
console.log('死循环')
}
3.2 while
while 语句创建循环,该循环在指定条件为真时执行。
只要条件为真,循环就会继续运行。只有当条件变为假时它才会停止。
while (i < 5) {
console.log(i)
i++;
}
while (true){
console.log('死循环')
}
if和while有什么区别?
if只判断一次条件,条件为真执行一次语句,条件为假则一次也不执行语句,
while只要条件为真,就循环执行语句。
while和for的区别?
本质上,while和for可以互换,能用for就能用while,能用while就能用for。
但是while多用于循环次数不确定的情况。
for用于已知循环次数的情况。
3.3 do...while
do/while 语句创建一个循环,在检查条件是否为真之前执行一次代码块,然后只要条件为真,它就会重复循环。
如果想要至少运行一次循环时,无论如何都要使用 do/while 语句。
var i = 0;
do {
console.log(i)
i++;
}
while (i < 5);
do...while和while的区别?
while是先判断再执行,所以循环体有可能一次也不执行。
do...while是先执行再判断,所以至少执行一次循环体。
4 循环控制语句
4.1 break
break 语句退出 switch 语句或循环(for、for ... in、while、do ... while)。
当 break 语句与 switch 语句一起使用时,它会跳出 switch 块。
在循环中使用 break 语句时,它会中断循环并继续执行循环后的代码(如果有),也就是说跳出break所在的循环体,执行后续代码。
for (let i = 0; i < 5; i++) {
if (i === 3) {
break;
}
console.log(i)
}
// 0 1 2
4.2 continue
如果出现指定条件,则 continue 语句会中断一次循环,并继续循环中的下一次迭代。简单说就是跳过本轮循环,进行下一轮。
continue 和 break 语句之间的区别在于,continue 语句不是“跳出”循环,而是“跳过”循环中的一次迭代。
for (i = 0; i < 5; i++) {
if (i === 3) {
continue;
}
console.log(i)
}
// 0 1 2 4