3.5 关系与逻辑运算符
程序不只是按顺序执行语句。很多时候,它需要先判断某个条件的结果是否为真,再决定下一步做什么。条件判断的结果通常是布尔值:true 或 false。
关系运算符
关系运算符用于比较两个值。比较结果是一个布尔值。
JavaScript 中常见的关系运算符包括:
<:小于>:大于<=:小于等于>=:大于等于===:严格相等!==:严格不相等
注意,单个等号 = 是赋值,三个等号 === 才是严格比较。
js
let age = 17;
console.log(age < 18); // true
console.log(age === 18); // false
console.log(age !== 18); // trueage = 17 的意思是把 17 赋值给变量 age。age === 18 的意思是比较 age 当前的值是否等于 18,并且类型也相同。
正在加载概念检查...
为什么 JavaScript 要用 ===
JavaScript 还有 ==,叫宽松相等。它可能先做类型转换再比较,容易让初学者意外。
js
console.log(1 == "1"); // true
console.log(1 === "1"); // false默认使用 === 和 !==。它们同时比较值和类型,更可预测。
正在加载交互实验...
逻辑运算符
逻辑运算符用于连接多个条件。它们的结果仍然是布尔值。
&&:多个条件都为true时,整体才是true。||:多个条件中至少有一个为true时,整体就是true。!:把true变成false,把false变成true。
js
let age = 20;
let hasTicket = true;
console.log(age >= 18 && hasTicket); // true
console.log(age < 18 || hasTicket); // true
console.log(!hasTicket); // false如果把条件读成自然语言,会更容易理解:age >= 18 && hasTicket 可以读成“年龄至少 18 岁,并且有票”。
组合条件
当条件变复杂时,建议使用括号或有含义的变量名让逻辑更清晰。
js
let score = 85;
let attendance = 92;
let passed = score >= 60 && attendance >= 80;
let excellent = score >= 90 || attendance >= 95;
console.log(passed); // true
console.log(excellent); // false不要急着把所有条件写成一行。先把每个小条件命名清楚,程序会更容易读,也更容易排错。
正在加载本节练习...