JavaScript 运算符和控制流程
运算符
算术运算符
用于执行基本的数学运算:
let a = 10;let b = 3;
console.log(a + b); // 13(加法)console.log(a - b); // 7(减法)console.log(a * b); // 30(乘法)console.log(a / b); // 3.3333...(除法)console.log(a % b); // 1(取余)console.log(a ** b); // 1000(幂运算,ES2016)
赋值运算符
用于给变量赋值:
let x = 5; // 基本赋值x += 3; // 等同于 x = x + 3x -= 2; // 等同于 x = x - 2x *= 4; // 等同于 x = x * 4x /= 2; // 等同于 x = x / 2x %= 3; // 等同于 x = x % 3
比较运算符
用于比较两个值:
let a = 5;let b = '5';
console.log(a == b); // true(相等,会进行类型转换)console.log(a === b); // false(严格相等,不会进行类型转换)console.log(a != b); // false(不相等)console.log(a !== b); // true(严格不相等)console.log(a > 3); // true(大于)console.log(a <= 5); // true(小于等于)
逻辑运算符
用于组合多个条件:
let x = 5;let y = 10;
console.log(x > 0 && y < 20); // true(与运算)console.log(x > 10 || y > 5); // true(或运算)console.log(!true); // false(非运算)
// 短路运算let a = null;let b = a || 'default'; // b = 'default'let c = a && 'value'; // c = null
控制流程
if 语句
用于条件判断:
let age = 18;
if (age >= 18) { console.log('成年人');} else if (age >= 12) { console.log('青少年');} else { console.log('儿童');}
switch 语句
用于多条件分支:
let day = 'Monday';
switch (day) { case 'Monday': console.log('星期一'); break; case 'Tuesday': console.log('星期二'); break; default: console.log('其他日子');}
三元运算符
简洁的条件判断:
let age = 20;let status = age >= 18 ? '成年' : '未成年';
for 循环
用于重复执行代码:
// 基本 for 循环for (let i = 0; i < 5; i++) { console.log(i);}
// for...of 循环(用于数组)let colors = ['red', 'green', 'blue'];for (let color of colors) { console.log(color);}
// for...in 循环(用于对象)let person = { name: 'Alice', age: 25 };for (let key in person) { console.log(key + ': ' + person[key]);}
while 和 do…while 循环
// while 循环let count = 0;while (count < 5) { console.log(count); count++;}
// do...while 循环let num = 0;do { console.log(num); num++;} while (num < 3);
break 和 continue
控制循环流程:
// break 示例for (let i = 0; i < 10; i++) { if (i === 5) break; console.log(i);}
// continue 示例for (let i = 0; i < 5; i++) { if (i === 2) continue; console.log(i);}
练习
- 使用不同类型的循环遍历数组
- 实现一个简单的计算器,使用 switch 语句处理不同的运算符
- 使用逻辑运算符的短路特性设置默认值
小结
- 掌握各种运算符的使用和优先级
- 理解条件语句的应用场景
- 熟练使用各种循环结构
- 注意 break 和 continue 的使用时机