本文将通过一系列具体的JavaScript代码片段,深入探讨如何使用for、while、do-while循环以及if-else、switch语句来实现各种功能。这些示例不仅展示了基本的控制结构,还帮助读者理解如何结合用户输入、数学运算和逻辑判断来构建交互式网页应用。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 输出1~100的奇数
- 输出: alert() document.write() console.log()
- 1~100 : 重复 循环 三要素: i = 1 i < 101 i ++ (i += 2)
- 奇数: 不能被2整除 一个条件 一个结果 单分支 if(){}
- */
- var i = 1, str = '';
- do{
- if(i % 2){
- str += i + ' ';
- }
- i++;
- } while(i < 101);
- document.write(str);
-
- document.write('<br>');
- for(var i = 1, str = ''; i < 101; i += 2){
- str += i + ',';
- }
- document.write(str);
- </script>
- </body>
- </html>
-
这段代码实现了输出1到100之间的所有奇数。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 任意输入一个数字,判断是星期几?
- 数字
- 7个条件,每一个条件对应一个结果
- */
- //1. 准备一个变量
- var i = parseInt(prompt('请输入一个1~7中的整数:'));
- //2. 根据这个整数进行判断
- switch(i){
- 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('输入错误!');
- }
- </script>
- </body>
- </html>
-
这段代码用于根据用户输入的数字判断对应的星期几。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?
- 输入一个0-6的整数 prompt() parseInt()
- 工作日: 1 2 3 4 5
- 休息日: 6 7
- */
- //1. 准备一个变量
- var i = parseInt(prompt('请输入0~6中的整数:'));
- //2. 根据这个整数进行判断
- switch(i){
- case 1 :
- case 2 :
- case 3 :
- case 4 :
- case 5 : console.log('工作日'); break;
- case 6 :
- case 0 : console.log('休息日'); break;
- default : console.log('末日'); break;
- }
- </script>
- </body>
- </html>
-
这段代码用于根据用户输入的数字判断是工作日还是休息日。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 输入一个月份,输出这个月有多少天?
- 一个月份 : prompt() parseInt()
- 1 3 5 7 8 10 12 (31)
- 4 6 9 11 (30)
- 2 闰年(29) 平年(28)
- */
- //1. 准备一个变量
- var i_month = parseInt(prompt('请输入一个月份:'));
- //2. 根据月份进行判断
- switch(i_month){
- case 1 :
- case 3 :
- case 5 :
- case 7 :
- case 8 :
- case 10 :
- case 12 : alert('31天');break;
- case 4 :
- case 6 :
- case 9 :
- case 11 : alert('30天'); break;
- case 2 :
- //准备变量,接收年份
- var i_year = parseInt(prompt('请输入一个年份:'));
- alert(!(i_year % 4) && i_year % 100 || !(i_year % 400) ? '29天' : '28天');
- }
- </script>
- </body>
- </html>
-
这段代码用于根据用户输入的月份判断该月有多少天。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
- 成绩 : prompt() parseInt()
- 10 优
- 90-100 : 90 91 92 93 99 9 优
- 80-89: 80 81 82 83 89 8 良
- 70-79: 70 ~79 7 中
- 60-69: 60 61 69 6 差
- <60:
-
- 多分支
- */
- //1. 准备一个变量
- var score = parseInt(prompt('请输入一个成绩:'));
- //2. 根据成绩进行判断
- if(score < 0 || score > 100){
- alert('一边儿玩去!');
- }else{
- switch(parseInt(score / 10)){
- case 10 :
- case 9 : alert('优'); break;
- case 8 : alert('良'); break;
- case 7 : alert('中'); break;
- case 6 : alert('差'); break;
- default : alert('不及格');
- }
- }
- </script>
- </body>
- </html>
-
这段代码用于根据用户输入的成绩判断其对应的等级。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 计算某日是该年的第几天?
- 1. 需要哪些变量?
- 年 月 日
-
- 根据月份
- 从当前月份的之前月份开始加
- 2022、11、30
- 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 日
- 2022、3、1
- 2 + 1 + 日
- */
- //1. 准备变量
- //1.1 年
- var year = parseInt(prompt('请输入一个年份:'));
- //1.2 月
- var month = parseInt(prompt('请输入一个月份:'));
- //1.3 日
- var date = parseInt(prompt('请输入日:'));
- //1.4 总天数
- var sum = 0;
- //2. 根据月份判断 (从当前月的 ***前面*** 所有月份天数的和)
- switch(month){ // 12月20日
- case 12 : sum += 30; //(30是11月份的天数) sum = 0 + 30 30
- case 11 : sum += 31; //(31是10月份的天数) sum = 30 + 31
- case 10 : sum += 30; //(30是9月份的天数) sum = 61 + 30
- case 9 : sum += 31; // sum = 91 + 31
- case 8 : sum += 31; // sum = 122 + 31
- case 7 : sum += 30; // sum = 153 + 30
- case 6 : sum += 31; // sum = 183 + 31
- case 5 : sum += 30; // sum = 214 + 30
- case 4 : sum += 31; // sum = 244 + 31
- case 3 : sum += !(year % 4) && year % 100 || !(year % 400) ? 29 : 28; // sum = 275 + 28
- case 2 : sum += 31; // sum = 303 + 31
- case 1 : sum += date; // sum = 334 + 20 sum = 354
- }
- //3. 输出结果
- alert(year + '年' + month + '月' + date + '日是' + year + '年中的第' + sum + '天');
- </script>
- </body>
- </html>
-
这段代码用于计算某日是该年的第几天。以下是代码的主要部分及其解释:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /*
- 根据血型与性别测试性格
- 血型: A B AB O 多条件 多结果 多分支
- 性别: 男 女 多条件 多结果 多分支
- */
- //1. 准备两个变量
- //1.1 血型
- var blood = prompt('请输入您的血型:');
- //1.2 性别
- var gender = prompt('请输入您的性别:');
- //2. 根据性别进行判断
- switch(gender){
- case '男' :
- switch(blood){
- case 'A' : alert('细心'); break;
- case 'B' : alert('花心'); break;
- case 'AB' : alert('极端'); break;
- case 'O' : alert('软弱'); break;
- default : alert('您可能是熊猫血!');
- }
- break;
- case '女' :
- switch(blood){
- case 'A' : alert('xxxx'); break;
- case 'B' : alert('yyyy'); break;
- case 'AB' : alert('zzzz'); break;
- case 'O' : alert('好'); break;
- default : alert('您可能是熊猫血');
- }
- break;
- default: alert('您可能来自泰国!');
- }
- </script>
- </body>
- </html>
-
这段代码用于根据用户的血型和性别测试性格。以下是代码的主要部分及其解释: