WEBBASE篇: 第九篇, JavaScript知识4

JavaScript 4

练习1

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        //1、从弹框中录入一个字符
        var c = prompt("请输入一个字符:");
        //2、判断是否为数字
        var isNum = c >= '0' && c <= '9';
        //3、判断是否为英文
        //3.1 判断是否为小写英文
        var isSmall = c >= 'a' && c <= 'z';
        //3.2 判断是否为大写英文
        var isCaps = c >= 'A' && c <= 'Z';
        //3.3 用一个变量保存是否为英文
        var isENG = isSmall || isCaps;
        //4、判断是否为汉字
        var isCHN = c >= '\u4e00' && c <= '\u9fa5';
        //5、根据判断结果打印输出
        if(isNum){
            console.log(c+"是一个数字");
        }else if(isENG){
            console.log(c+"是一个英文字符");
        }else if(isCHN){
            console.log(c+"是一个汉字");
        }else{
            console.log(c+"是其他字符");
        }
    </script>    
 </body>
</html>
View Code
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        var input = prompt("欢迎来到中国移动\n1、查话费请按1\n2、了解宽带请按2\n3、For English press 3\n4、人工服务请按 0");
        switch(input){
            case "1":
                alert("话费查询中,请稍后...");
                break;
            case "2":
                alert("宽带业务尚未开通...");
                break;
            case "3":
                alert("Sorry,我不懂英语...");
                break;
            case "0":
                alert("人工坐席忙,请稍后...");
                break;
            default:
                alert("输入有误!!!");
        }
    </script>
 </body>
</html>
View Code
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        var input = prompt("请输入一个数字(0-7):");
        switch(input){
            case "1":
                console.log("今天吃红烧肉");
                break;
            case "2":
                console.log("今天吃红烧鱼");
                break;
            case "3":
                console.log("今天吃红烧王八");
                break;
            case "6":
            case "7":
                console.log("今天休息");
                break;
            default:
                console.log("输入有误!!!");
                break;
        }
    </script>
 </body>
</html>
View Code
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        var year = Number(prompt('Year:'));
        var month = Number(prompt('Month:'));
        var day = Number(prompt('Day:'));
        var totalDays = 0;
        var isRun=year%4==0&&year%100!=0||year%400==0;
        switch(month-1){
            case 11:
                totalDays += 30;
            case 10:
                totalDays += 31;
            case 9:
                totalDays += 30;
            case 8:
                totalDays += 31;
            case 7:
                totalDays += 31;
            case 6:
                totalDays += 30;
            case 5:
                totalDays += 31;
            case 4:
                totalDays += 30;
            case 3:
                totalDays += 31;
            case 2:
                totalDays += 28;
                if(isRun){
                    totalDays += 1;
                }
            case 1:
                totalDays += 31;
        }
        totalDays += day;
        console.log("是第"+totalDays+"天");
    </script>
 </body>
</html>
View Code
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        //1、声明循环条件,赋值为 1
        var i = 1;
        //2、循环结构 :条件 当 i 小于等于 100的时候,执行操作
        while(i <= 100){
            console.log("Hello World");
            //更新循环条件
            i++;//i=i+1;i+=1;
        }
    </script>
 </body>
</html>
View Code
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <!-- <script>
          //条件:从1开始到100结束
          //操作:打印循环条件的值
          var i = 1;
          while(i <= 100){
              console.log(i);
              //更新循环条件
              i++;
          }
      </script> -->


        <!-- <script>
            //条件:从1开始,到100结束
            //操作:累加 循环条件 的值
            var i=1,sum=0;
            while(i <= 100){
                sum += i;//sum = sum + i;
                i ++;
            }
            console.log("1-100之间的和为:"+sum);
        </script> -->


        <!-- <script>
            //条件:从1开始到100结束
            //操作:判断循环条件是否为 3 的倍数
            var i=1;
            while(i <= 100){
                if(i % 3 == 0){
                    console.log(i);
                }
                i++;
            }
        </script> -->

        <!-- <script>
            //条件:从 2000 开始 到 2050 结束
            //操作:判断条件是否满足闰年的要求
            var i = 2000;
            while(i <= 2050){
                if(i%4==0&&i%100!=0||i%400==0){
                    console.log(i);
                }
                i++;
            }
        </script> -->

        <script>
            var year = Number(prompt('Year:'));
            var month = Number(prompt('Month:'));
            var day = Number(prompt('Day:'));
            var totalDays = 0;
            var isRun=year%4==0&&year%100!=0||year%400==0;

            //条件:从1月开始,到month-1月为止
            //操作:将这些月份的天数进行累加
            var i = 1;
            while(i < month){
                switch(i){
                    case 1:
                    case 3:
                    case 5:
                    case 7:
                    case 8:
                    case 10:
                        totalDays += 31;
                        break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        totalDays += 30;
                        break;
                    case 2:
                        totalDays += 28;
                        if(isRun){
                            totalDays += 1;
                        }
                }
                i++;
            }

            totalDays += day;
            console.log("共"+totalDays+"天");
        </script>
 </body>
</html>
View Code

 

 分支结构

1,if 结构(略)

2,switch 结构

作用: 等值判断;

语法:switch(变量){

  case 值1:

    语句块1;

    //break;//跳出switch 结构, 可选  

    case 值1:

      语句块1;

      //break;//跳出switch 结构, 可选

  。。。。。。。

    default:

      语句块n;

      /*所有case都未匹配上时,才执行default*/

  }

   注意:1, 变量和case后的值的判断,采用 === 来判断的;

      2,break ,如果省略break的话,则从匹配的case块开始,依次向下执行(执行下面所有case块的内容 或 default的内容),直到碰见break或执行结束为止;

练习:
从弹框中录入1-7任意一个数字表示星期1~星期日
输入1:今天吃红烧肉
输入2:今天吃红烧鱼
输入3:今天吃红烧王八
输入4:今天吃红烧皮皮虾
输入5:今天吃红烧排骨
输入6:今天休息
输入7:今天休息
其他:输入有误!

 

循环结构

作用: 重复的执行相同或相似的代码;

循环的二要素:

  (1)循环条件: 循环从什么时候开始,到什么时候结束;

  (2)循环操作: 循环中要做的事情(要执行的代码);

ex:
1、控制台中输出100遍Hello World
条件:从第1遍开始 到 第100遍结束
操作:输出 Hello World
2、打印 1-100 之间所有的数字
条件:从第1遍开始 到 第100遍结束
操作:输出 条件 的值

 

while 循环

语法: while(循环条件){

      循环操作

      }

 

流程:
1、判断循环条件(boolean值/表达式)
2、如果条件为真,则执行循环操作
2.1 执行完操作后,再回来判断条件...
3、如果条件为假,则退出循环
ex:
1、打印 100 遍 Hello World
条件:从 1 开始 ,到 100 结束
操作:打印 Hello World
练习:
1、打印 1-100 之间所有的数字
2、计算 1-100 之间所有数字的和并打印输出
3、打印 1-100 之间所有3的倍数的数字

4、打印 2000 - 2050 之间所有的闰年
5、将日期计算器更改为循环版本

 

do ...while 循环:

语法:do{

  循环操作

  }while (循环条件);

  流程:1,先执行循环操作; 2,再判断循环条件; 3,如果条件为真,则继续执行循环操作,否则退出循环;

猜数字游戏:
1、声明一个1-100之间的随机整数
随机数:Math.random() 得到一个0-1之间的小数
var r=parseInt(Math.random()*100)+1
2、允许用户循环的录入数据,与随机数进行比较
如果输入的数据比随机数大,提示猜大了
如果输入的数据闭随机数小,提示猜小了
否则:提示猜对了,退出游戏
或者,用户输入 exit 也可以退出游戏

 

循环的流程控制:

(1) break   跳出循环结构;

(2)continue  结束本次循环,继续执行下次循环;

 

for循环:

(1)

while
打印 1-100 之间所有的数字
var i=1;//循环条件的初始化
while(i <= 100){ //循环条件的判断
console.log(i);//循环操作
i++;//更新循环条件
}

(2)for循环:

语法: for (表达式1;表达式2;表达式3){

      循环条件;

      }

说明:表达式1:循环条件的初始化;

     表达式2: 循环条件的判断;

     表达式3: 更新循环条件;

流程: (1)先执行表达式1,即循环条件初始化(执行1次);

  (2) 再判断表达式2的值,true 或false ;

  (3)如果为true ,则执行循环操作; 如果为false,则退出循环条件;

  (4)执行完循环操作后,再执行表达式3;

  (5)再判断表达式2,同步骤2....

练习:
1、从弹框中随意输入一个数字,判断其是否为素数(质数)
素数:只能被1和他自己整除的数字
2、打印九九乘法表中的一行数据
从弹框中随意输入一个数字,输入几,则打印第几行

ex : 输入 3
1*3=3 2*3=6 3*3=9

console.log();

 

循环嵌套:

  允许在一个循环中再出现另一个循环;

for (var i=1;i<=10;i++){  // 外层循环

  for(var j=1;j<=10;j++){  //内层循环

}

  外层循环走一次,内层循环走一轮;

 

函数 -function

1,函数的声明:

  function 函数名(参数){

    函数体;

  }

注:

(1)、参数
参数列表,允许声明0或多个参数,多个参数的话,使用 , 隔开即可;无默认参数;
(2)、返回值
返回值是可选的,如果需要返回值的话,通过 return 值 ; 进行返回

 

2,函数的调用;

在 任意JS的合法位置处,都允许做函数调用;

  函数名(参数列表);

作业:
使用函数完成以下内容,通过一个按钮点击调用
在函数内:
1、分三次录入年,月,日
2、计算该日是星期?
前提:1900.1.1 是星期1

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        do{
            //1、录入数据
            var input = prompt("请输入一句话:");
            //2、将数据打印在控制台上
            console.log(input);
        }while(input != "exit");
    </script>
 </body>
</html>
+++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        //1、生成一个1-100的随机数
        var r = parseInt(Math.random()*100)+1;
        //2、循环完成数据的录入和比较
        do{
            //1、循环录入数据
            var input = prompt("请输入一个数字(exit退出):");
            //2、比较大小
            if(input > r){
                alert("您猜大了!");
            }else if(input < r){
                alert("您猜小了!");
            }else if(input == r){
                alert("恭喜您,蒙对了!");
            }else if(input == "exit"){
                alert("拜拜!!!!");
            }

        }while(input != r && input != 'exit');
        //1、没猜对 并且 不是 exit 则继续玩游戏
    </script>
 </body>
</html>
+++++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        while(true){
            var input = prompt("请输入数据:");
            if(input == "exit"){
                break;
            }
            console.log(input);
        }
    </script>
 </body>
</html>
++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        for(var i=1;i<=100;i++){
            console.log(i);
        }
    </script>
 </body>
</html>
+++++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <!-- <script>
          var num = Number(prompt("请输入一个数字:"));
          for(var i=2;i<num;i++){
              if(num % i == 0){
                  console.log("不是素数!");
                  break;
              }
          }
          if(num == i){
              console.log("是素数!");
          }
      </script> -->

        <!-- <script>
            var num = Number(prompt("请输入一个数字:"));
            var isSu = true;
                  for(var i=2;i<num/2;i++){
                      if(num % i == 0){
                          isSu = false;
                          break;
                      }
                  }
            if(isSu){
                console.log(num+"是素数");
            }else{
                console.log(num+"不是素数");
            }
        </script> -->

        <script>
            var line = Number(prompt("请输入要打印的行数:"));
            var msg = "";
            for(var i=1;i<=line;i++){
                msg += i+"*"+line+"="+i*line+"\t";
            }
            console.log(msg);
        </script>
 </body>
</html>
++++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <!-- <script>
          for(var i=1;i<=9;i++){
              var msg = "";
              for(var j=1;j<=i;j++){
                  msg += j+"*"+i+"="+j*i+"\t";
              }
              console.log(msg);
          }
      </script> -->
    <script>
        for(var line=1;line<=5;line++){
            var msg = "";
            //内层循环1:循环追加空格
            for(var space=1;space <= 5-line ; space++){
                msg += " ";
            }
            //内层循环2:循环追加**
            for(var star=1;star <= 2*line-1;star++){
                msg += "*";
            }
            console.log(msg);
        }


    </script>
 </body>
</html>
++++++++++++++++++++++
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <script>
        //声明函数
        function printMsg(){
            alert("Hello World");
        }
        
        /**
         * 计算两个数字的和,并打印输出
         * num1 : 表示第一个数字
         * num2 : 表示第二个数字
         */
        function add(num1,num2){
            console.log(num1+num2);
        }
        //调用函数
        //printMsg();
    </script>

    <button onclick="printMsg()">调用函数</button>
    <button onclick="add(15,18)">调用带参数函数</button>
 </body>
</html>
View Code

 

posted on 2018-09-02 21:52  微子天明  阅读(209)  评论(0编辑  收藏  举报

导航