1. 分支结构
1.1 分支语句之单分支
①.语法:
if(值,如果不是布尔值会强制转换成布尔值) { 代码块; }
②.案例:
// 案例:如果a变量的值加键盘上输入的数大于100,就打印我爱你二狗子! var a = 30; // prompt():页面弹出输入框的函数,可以获取用户输入内容,返回对应的字符串 var num = parseInt(prompt('可以输入一个数字')); if (num + a > 100) { console.log('我爱你二狗子'); }
1.2 分支语句之双分支
①.语法:
if(值,这个值如果不是布尔值,会强转为布尔值){ 代码块 }else{ 代码块 }
②.案例:
var num = parseInt(prompt('请输入一个数')); if (num > 0) { console.log(--num); } else { console.log(++num); } // 如果双分支代码块只有一行代码,可以使用三元运算符替代 var num1 = parseInt(prompt('请输入一个数')); num1 > 0 ? num1-- : num1++; console.log(num1);
1.3 分支语句之多分支
①.语法:
if(值,这个如果不是布尔值,会强转为布尔值){ 代码块 }else if(值,这个如果不是布尔值,会强转为布尔值){ 代码块 }else if(值,这个如果不是布尔值,会强转为布尔值){ 代码块 }else{ 代码块 }
②.案例:
// 输入体重判断属于什么样的体型 // 70 - 90 骨感美 // 90 - 120 性感美 // 120 - 150 微胖美 // 150 - 200 丰满美 // 200 -300 灵魂美 var weight = parseInt(prompt('输入你的体重')); // 注意点:不可以使用 70<=weight<=90这种写法 // 原因:70<=weight 返回true或false 与后面的90比较会转换成数字0或1,与原先的语义不一致 if (weight >= 70 && weight <= 90) { console.log('骨感美'); } else if (weight >= 90 && weight <= 120) { console.log('性感美'); } else if (weight >= 120 && weight <= 150) { console.log('微胖美'); } else if (weight >= 150 && weight <= 200) { console.log('丰满美'); } else if (weight >= 200 && weight <= 300) { console.log('灵魂美'); } else { console.log('请输入70 - 300之间的数'); }
1.4 分支语句之 switch case
①.语法
1. key是一个值,不会进行转化 2. 从上到下,当key与value全等于的时候会进入该分支,只有遇到break才会跳出switch 如果没有匹配的case分支,会执行最后的default默认分支 switch (key) { case value: 代码块; break; case value: 代码块; break; ... default: break; }
break:用来跳出循环
②.案例
// 1.输入一个数字,判断是星期几 var day = parseInt(prompt('请输入一个(1-7)的数字')); // 注意点 // 1、值的判断使用的是 === // 2、进入某个分支,只有遇到break才能跳出switch switch (day) { case 1: console.log('今天是周一'); break; case 2: console.log('今天是周二'); break; case 3: console.log('今天是周三'); break; case 4: console.log('今天是周四'); break; case 5: console.log('今天是周五'); break; case 6: console.log('今天是周六'); break; case 7: console.log('今天是周日'); break; default: console.log('输入1到7的数字'); break; } // 2. 输入分数,判定优良差和不及格(多分支版本 switch版本) // 90 ~ 100 A // 80~90 B // 70~80 C // 60~70 D // 0~ 60 不及格 // 其它 提示 var score = parseInt(prompt('请输入你的分数')); // 这种true的用法也需要注意 switch (true) { case score >= 90 && score <= 100: console.log('A'); break; case score >= 80 && score <= 90: console.log('B'); break; case score >= 70 && score <= 80: console.log('C'); break; case score >= 60 && score <= 70: console.log('D'); break; case score >= 0 && score <= 60: console.log('不及格'); break; default: console.log('请输入一个0-100的分数'); break; } // 3.输入年龄 判定是童年少年青年中年老年 var age = parseInt(prompt('输入年龄')); switch (true) { case age > 0 && age <= 6: console.log('童年'); break; case age > 6 && age <= 18: console.log('少年'); break; case age > 18 && age <= 30: console.log('青年'); break; case age > 30 && age <= 50: console.log('中年'); break; case age > 50: console.log('老年'); break; default: console.log('请输入正确的年龄。'); }
2. 循环结构
2.1 for 循环
①.语法
for (初始化表达式,条件表达式,自增自减表达式){ 循环体; }
②.执行流程
循环执行过程 1.首次执行 1-1 执行初始化表达式 1-2 执行条件表达式(符合条件执行循环体,不符合跳出循环) 1-3 执行循环体 1-4 执行自增自减表达式 2.非首次执行 2-1 执行条件表达式 (符合条件执行循环体,不符合跳出循环) 2-2 执行循环体 2-3 执行自增自减表达式
③.总结
1. 首次执行和非首次执行 区别在于是否执行初始化表达式 2. 循环的此时看i 每次循环中的i都会变化 3. 循环的结束条件,条件表达式的值为false
④.案例
// 打印1-100之间的整数 for (var i = 1; i <= 100; i++) { // console.log(i); } // 打印1-100之间的偶数 for (var index = 1; index <= 100; index++) { if (index % 2 == 0) { // console.log(index); } } // 计算1到100的和 var sum = 0; for (var i = 1; i <= 100; i++) { sum += i; } // console.log(sum); // 计算1-100之间所有偶数的和 var sum = 0; for (var i = 1; i <= 100; i++) { if (i % 2 == 0) { sum += i; } } // console.log(sum); // 计算100的阶乘 1*2....*100 var sum = 1; for (var i = 1; i <= 100; i++) { sum *= i; } // console.log(sum); // 打印三位数位上有3或者7的数字 for (var i = 100; i < 1000; i++) { var x = parseInt(i / 100); var y = parseInt(i / 10 % 10); var z = i % 10; if (x == 3 || x == 7 || y == 3 || y == 7 || z == 3 || z == 7) { // console.log(i); } } // 求100 - 999之间的水仙花数 for (var i = 100; i <= 999; i++) { var x = parseInt(i / 100); var y = parseInt(i / 10 % 10); var z = i % 10; if (x * x * x + y * y * y + z * z * z == i) { console.log(i); } }
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统