JavaScript + 比较运算符 + 逻辑运算符 + if语句 + 三元运算符 + swicth语句 + for循环 + 循环嵌套 +(双重 for循环)+ continue break循环退出 + while循环
比较运算符
<body> <script> // 比较结果是boolean类型 console.log(4 > 10); //false console.log(5 >= 4); //true // 两个==号只判断值是否相等 存在隐式转换 console.log(10 == "10"); //true //三个===号 即比较内容也比较数据类型 =》不存在隐式转换 console.log(10 === 10); //true console.log(10 === "10"); //false console.log(10 !== 10); //false // 不要比较字符 因为比较的是ASCII码 console.log("1000" > "999"); //false </script> </body>
逻辑运算符
<body> <script> // 逻辑与&& 一假则假 && 两个条件都满足才为true console.log(5 > 3 && 5 < 10); //true console.log(5 > 3 && 5 > 10); //false // 逻辑或|| 一真则真一个条件满足就为true console.log(3 > 5 || 5 < 10); true; // 优先级:!逻辑非/取反符> 逻辑与 >逻辑或 console.log(!false); </script> </body>
if分支语句:单分支 、双分支、多分支
<script> 单分支语句
if(判断条件){条件满足时执行}
// if (false) { // alert("为false时为假"); // } // if (null) { // alert("为null时为假"); // } // let age; // if (age) { // age("只声明未赋值为undefined 为假"); // } // if(条件判断存在隐式转换 转换成真或者是假(‘’ ,0,false,null,undefined 这些为假其余为真) // 双分支语句 // 案例1:用户输入高考成绩,如果分数大于700,则提示恭喜考入清华 // let score = +prompt("请你输入你的成绩"); // if (score > 700) { // alert("恭喜你来到清华"); // } else { // alert("恭喜你来到北大青鸟"); // } </script> </body>
<body> <script>
if双分支语句
if(判断条件){
条件满足时执行
}else {
不满足条件时执行
}
// 1. 用户输入 // 如果大于18岁带你去浪漫的土耳其 否则回家做作业 // let age = +prompt("请输入你的年龄"); // if (age >= 18) { // alert("带你去浪漫的土耳其"); // } else { // alert("回家做作业"); // } // 确认同桌名字 银行密码 两个条件都满足,恭喜你成为我的同桌,反之你不是 let name = prompt("请输入你的名字"); let passWord = +prompt("请输入你的密码"); if (name === "zs" && passWord === 123456) { alert("恭喜你成为我的同桌"); } else { alert("你不是"); } </script> </body>
<body> <script>
if多分支语句
if双分支语句
if(判断条件1){
满足判断条件1时执行
}else if(判断条件2) {
满足判断条件2时执行
} else if (判断条件3) {
满足判断条件3时执行
}else {
以上条件都不满足时执行
}
// 1. 用户输入 /* - 输入成绩案例 需求:根据输入不同的成绩,反馈不同的评价 注: ①:成绩90以上是 优秀 ②:成绩70~90是 良好 ③:成绩是60~70之间是 及格 ④:成绩60分以下是 不及格 */ let score = +prompt("请输入你的成绩"); // if (score >= 90) { // alert("你真棒"); // } else if (score >= 70 && score < 90) { // alert("你要继续加油哦"); // } else if (score >= 60 && score < 70) { // alert("你在疯狂的试探"); // } else { // alert("你已经在挨打的边缘了"); // } // 可以省略逻辑与&&=》可以从大到小或者从小到大来进行判断 if (score >= 90) { alert("你真棒"); } else if (score >= 70) { alert("你要继续加油哦"); } else if (score >= 60) { alert("你在疯狂的试探"); } else { alert("你已经在挨打的边缘了"); } </script> </body>
三元运算符
<body> <script> // 三元运算符 条件 ? 满足条件的代码 : 不满足条件的代码 // console.log(3 > 5 ? 3 : 5) // if (3 < 5) { // alert('真的') // } else { // alert('假的') // } let result = 3 < 5 ? " 真的" : "假的"; alert(result); console.log(result); //真的(如果条件为真返回 第一个结果 否则返回第二个结果) </script> </body>
switch语句
<body> <script> /* 释义: 1、找到跟小括号里数据**全等**的case值,并执行里面对应的代码 2、若没有全等 === 的则执行default里的代码 3、例:数据若跟值2全等,则执行代码2 <span style="color:green;">注意事项:</span> 1、switch case语句一般用于等值判断,不适合于区间判断 2、switch case一般需要配合break关键字使用 没有break会造成case穿透 */ // 语法结构简单来说就是 找到小括号里面的数据 进行全等匹配 === / break是退出switch语句 如果没有写break 数据则会进行穿透 没法进行条件判断拦截 满足条件的以及break后面都会打印=>一定要写 break不会向上穿透 // switch (数据) { // case 判断条件: // console.log("这是代码啊1"); // break; // case 2: // console.log("这是代码2"); // break; // case 3: // console.log("这是代码3"); // break; // default: // console.log("无法匹配"); // break; // } // 语法结构 // switch (2) { // case 1: // console.log("这是1"); // case 2: // console.log("这是2"); // case 3: // console.log("这是3"); // break; // default: // console.log("无法匹配"); // break; // } let fruit = prompt("你要买什么水果"); switch (fruit) { case "苹果": alert("苹果8元/斤"); break; case "榴莲": alert("榴莲10元/斤"); break; case "香蕉": alert("香蕉3元/斤"); break; default: alert("没有你想要的水果,明天再来买吧"); break; } </script> </body>
<body> <script> /* 拓展 用户输入年份和月份,打印出这个月有多少天(★) - 其中1,3,5,7,8,10,12月有31天 - 4,6,9,11月有30天 - 2月比较特殊,如果是平年就是28天,闰年就是29天(闰年判断条件 : 能被400整除 或者 能被4整除且不能被100整除) */ // if语句写法 // let year = +prompt("请输入年份"); // let mouth = +prompt("请输入月份"); // if ( // mouth === 1 || // mouth === 3 || // mouth === 5 || // mouth === 7 || // mouth === 8 || // mouth === 10 || // mouth === 12 // ) { // alert(`${year}年${mouth}月有31天`); // } else if (mouth === 4 || mouth === 6 || mouth === 9 || mouth === 11) { // alert(`${year}年${mouth}月有30天`); // } else { // if (year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)) { // alert(`${year}年是闰年${mouth}月只有29天`); // } else { // alert(`${year}年是平年${mouth}月只有28天`); // } // } // switch写法 let year = +prompt("请输入年份"); let mouth = +prompt("请输入月份"); let day = null; switch (mouth) { case 1: case 3: case 5: case 7: case 8: case 12: day = 31; break; case 4: case 6: case 9: case 11: day: 30; break; case 2: if (year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)) { day = 29; } else { day = 28; } break; default: "请输入正确的年份"; } alert(`${year}年${mouth}月${day}天`); </script> </body>
for循环
<body> <script> /* for循环语法 作用:**重复执行代码 好处:**把声明起始值、循环条件、变化值写到一起,让人一目了然,它是最常使用的循环形式 */ // for (初始化变量; 条件表达式; 操作表达式) { // //循环体 // } // 罚跑7圈 // for (let i = 1; i <= 7; i++) { // document.write(` // 跑起来 // <br> // `); // }
// 1. 初始化变量,初始化操作在整个 for 循环只会执行一次。 // 2. 执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。 // 3. 直至条件表达式为假,结束整个 for 循环。 // 利用for循环输出三句话 月薪过万 // 例: 输出10句月薪过万,并说出for循环的执行过程 for (let i = 1; i <= 10; i++) { document.write(` 月薪过万 <br> `); } </script> </body>
循环嵌套(双重for循环)
<body> <script> /* 嵌套循环是指在一个循环语句中再嵌套一个循环语句的语法结构,如for循环中可以再嵌套一个for循环,也称为双重for循环。 */ // 1. 双重for循环 语法结构 // for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) { // for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) { // // 执行语句; // } // } for (let i = 1; i <= 5; i++) { console.log("这是外层for循环第" + i + "次"); for (let j = 1; j <= 3; j++) { console.log("这是里层for循环的第" + j + "次"); } console.log("这是外层for循环每次最后执行的语句"); } //外层循环语句执行一次 里面for循环执行全部 // 内层循环执行的顺序也要遵循 for 循环的执行顺序 // 4. 代码验证 // 背单词 一天背五个 背三天 共背多少个单词 for (i = 1; i <= 3; i++) { document.write(`这是第${i}天 <br>`); for (j = 1; j <= 5; j++) { document.write(`这是第${i}几天的第${j}几个单词<br>`); } } </script> </body>
<body> <script> // 1. 外层循环控制行数 内层控制列数 for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { document.write(`💗`); } document.write(`<br>`); } </script> </body>
退出循环 continue break
<body> <script> /* 退出循环 continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用continue break 退出整个for循环,一般用于结果已经得到,后续的循环不需要的时候可以使用 while(true) 来构造“无限”循环,需要使用break退出循环。 for(;;) 也可以来构造“无限”循环,同样需要使用break退出循环。 */ // 吃包子 吃到第5个有虫子 12 45 for (i = 1; i <= 5; i++) { if (i === 3) { continue; //退出本次循环直接跳过 } document.write(`我正在吃${i}包子<br>`); } for (i = 1; i <= 5; i++) { if (i === 3) { break; // break后面的就不再执行了/退出整个for循环 } document.write(`我正在吃${i}包子<br>`); } </script> </body>
while循环
<body> <script> //语法:
// 1. 变量的起始值 // while(条件判断){ // 要重复执行的代码(循环体) // } /* 释义: 跟 if 语句很像,都要满足小括号里的条件为 true 才会进入 循环体 执行代码 while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出 */ // 2、计算从 1 加到 100 的总和并输出 // 核心思路: 声明累加和的变量 sum,每次把 i 加到 sum 里面 // 循环1-100 // let i = 1; // while (i <= 100) { // document.write(`${i} <br>`); // //如果不加i++则会出现死循环 // i++; // } // 让用户输入1-100的数 // let num = +prompt("请输入一个数字"); // let i = 1; // while (i <= num) { // document.write(`${i}<br>`); // i++; // } /* 2、计算从 1 加到 100 的总和并输出 核心思路: 声明累加和的变量 sum,每次把 i 加到 sum 里面 3、计算 1-100 之间的所有偶数和 核心思路: 声明累加和的变量 sum,首先利用 if 语句把 i 里面是偶数筛选出来,把 筛选的 i 加到 sum 里面 */ // let i = 1; // let sum = 0; // while (i <= 100) { // if (i % 2 === 0) { // sum += i; // } // console.log(i); // i++; // } // console.log(sum); // do都表示循环体 简单来说先执行循环体 再进行判断 如果条件为真则继续执行 do { let message = prompt("你爱我不"); if (message === "滚") { break; } } while (true); </script> </body>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现