JS--判断语句|循环|跳出循环(break&&continue)
判断语句
if else
if (条件) {
条件正确的执行代码
} else {
否则执行的代码
}
// 1.在if的()中,会产生隐式类型转换。
// 2.只有在以下六种情况下,if中的()的数据为假。false、空字符串、0、null、undefined、NaN。
三目运算:
条件 ? 真语句 : 假语句。优先级高于赋值。
例:a>1?'大于':'不大于'
switch
用switch来替代if的判断条件是多个确定的值相比较的时候,switch里的判断是全等于。
// 在每一个case后添加一个break,表示退出switch循环。
switch (key) {
case value:
break;
default:
break;
}
循环语句
while 循环语法
while 循环的语法格式如下:
while (条件表达式) {
// 要执行的代码
}
while 循环在每次循环之前,会先对条件表达式进行求值,如果条件表达式的结果为 true,则执行{ }
中的代码,如果条件表达式的结果为 false,则退出 while 循环,执行 while 循环之后的代码。
代码示例:
let a = 1
let sum = 0
while (a <= 5) {
sum += a
a++
}
console.log(sum);
在编写循环语句时,一定要确保条件表达式的结果能够为假(即布尔值 false),因为只要表达式的结果为 true,循环会一直持续下去,不会自动停止,对于这种无法自动停止的循环,我们通常将其称为“无限循环”或“死循环”。
do while 循环语法
先执行一次 需要执行的代码,然后再去判断,所以无论条件表达式是真还是假,do while 循环都能至少执行一次,而 while 循环就不行了,如果条件表达式为假会直接退出 while 循环。其格式如下:
do {
// 需要执行的代码
} while (条件表达式);
示例代码:
let a = 1
let sum = 0
do {
sum += a
a++
} while (a > 2);
console.log(sum);//1
for
for 循环适合在已知循环次数时使用,语法格式如下:
for (let index = 0; index < array.length; index++) {
const element = array[index];
}
for in
for in 循环是一种特殊类型的循环,也是普通 for 循环的变体,主要用来遍历对象,使用它可以将对象中的属性依次循环出来,其语法格式如下:
for (var tiem in object) {
// 要执行的代码
}
其中,var tiem为一个变量,每次循环时这个变量都会被赋予不同的值,我们可以在{ } 中使用这个变量来进行一系列操作;object 为要遍历的对象,在每次循环中,会将 object 对象中的一个属性的键赋值给变量 var tiem,直到对象中的所有属性都遍历完。
示例代码:
obj={name:'zhangsan',age:18}
for (const key in obj) {
console.log(key);//name age
console.log(obj[key]);//zhangsan 18
}
for of
for of 循环是 ECMAScript6 中新添加的一个循环方式,与 for in 循环类似,也是普通 for 循环的一种变体。使用 for of 循环可以轻松的主要用来遍历数组|字符串,其语法格式如下:
for (var tiem in arr) {
// 要执行的代码
}
示例代码:
arr = [1, 2, 3, 4]
for (var item of arr) {
console.log(item);//1 2 3 4
}
str = '12345'
for (var item of str) {
console.log(item);//1 2 3 4 5
}
跳出循环
break
使用 break 语句可以跳出 switch 语句。其实使用 break 语句还可以用来跳出整个循环,让程序继续执行循环之后的代码(如果有的话)。
continue
continue 语句用来跳过当次循环,继续执行下次循环。
return
终止函数的执行,并返回一个指定的值给函数调用者
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了