JavaScript入门到精通(四)

发布于:2022-12-07 ⋅ 阅读:(244) ⋅ 点赞:(0)

31. switch练习

练习:对于成绩大于60分的,输出合格,低于60分的,输出不合格

var score = 61;

switch(true){
    case score >= 60:
        console.log("合格");
        break;
    default:
        console.log("不合格");  
        break;
}

在这里插入图片描述

32. while循环

循环语句:
通过循环语句可以反复执行一段代码多次

while循环
   语法:

While(条件表达式){
语句
}

执行流程:
while语句在执行时,先对条件表达式进行判断,如果值为true,则执行循环体,循环体执行完毕后继续对表达式进行判断,如果仍为true,则继续执行循环体,以此类推,直到值为false,则终止循环

条件表达式写死为true的循环,叫做死循环
该循环不会停止,除非浏览器关闭,死循环在开发中慎用
可以使用break来终止循环

创建一个while循环,往往只需要三个步骤

  1. 初始化一个变量
  2. 在循环中设置一个条件表达式
  3. 定义一个更新表达式,每次更新初始化变量

do-while循环
语法:

do{
  语句
}while(条件表达式)

执行流程:
do-while语句在执行时,会先执行循环体,循环体执行完毕后,再对while后的条件表达式进行判断,如果为true则继续执行循环体,执行完毕继续判断以此类推,当结果为false则终止循环

实际上while和do-while功能类似,不同的是while是先判断后执行,而do-while是先执行后判断,即循环体至少执行一次

<!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>
    <script>
        var i = 1;
        while(i<=10){
            document.write(i++ +"<br />");
        }

        // do{
            // document.write(i++ +"<br />");
        // }while(i<=10);
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

33. while的练习

练习:假如投资的年利率为5%,试求从1000增长到5000块,需要花费多少年

var money = 1000;
var count = 0;
while(money < 5000){
    money *= 1.05;
    count ++;
}
console.log("需要"+count+"年");

在这里插入图片描述

34. for循环

在for循环中,提供了三个位置来放表达式:

  1. 初始化表达式
  2. 条件表达式
  3. 更新表达式

for循环语法:
for(①初始化表达式;条件表达式;更新表达式){
语句
}

for循环的执行流程:
 ① 初始化表达式初始化变量(更新表达式只执行一次)
 ② 执行条件表达式,判断是否执行循环
   a) 为true则执行循环③
   b) 为false则终止循环
 ③ 执行更新表达式,更新表达式执行完毕继续重复②

for循环的三个部分都可以省略,也可以写在外部
如果在for循环中不写任何的表达式,可以只写两个;
此时循环是一个死循环会一直执行下去,要慎用,如:
for(;;){
alert(“hello”)
}

//打印1-100之间的数
for(var i=1, sum=0;i<=100;i++){
    if(i%2!=0){
        console.log(i);
        sum += i;
    }
}
console.log(sum);

在这里插入图片描述

练习:打印水仙花数

for(var i=100;i<1000;i++){
    var bai = parseInt(i/100);
    var shi = parseInt((i-bai*100)/10);
    var ge = i%10;
    if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
        console.log(i);
    } 
}

在这里插入图片描述

35. 质数练习

练习:在页面中接收一个用户输入的数字,并判断该数是否是质数
质数:只能被1和它自身整除的数,1不是质数也不是合数,质数为大于1的自然数

<!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>
    <script>
        var num = prompt("请输入一个大于1的整数");
        var flag = true;
        if(num <= 1){
            console.log("该值不合法");
        }
        else{
            for(var i=2;i<num;i++){
            if(num % i == 0){
                flag = false;
                }
            }
            if(flag){
                console.log(num+"是质数");
            }else{
            console.log(num+"不是质数");
            }
        }
        

        
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
在这里插入图片描述

36. 嵌套的for循环

问题:通过一个for循环来输出正三角图形
外部循环控制图形的高度,内部循环控制图形的宽度

<!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>
    <script>
        for(var i=0;i<5;i++){
            for(var j=0;j<i+1;j++){
                document.write("*&nbsp;&nbsp;");
            }
            document.write("<br />");
        }
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

37. 嵌套for循环练习(一)

练习:通过一个for循环来输出倒三角图形

<!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>
    <script>
        for(var i=0;i<5;i++){
            for(var j=5;j>i;j--){
                document.write("*&nbsp;&nbsp;");
            }
            document.write("<br />");
        }
    </script>
</head>
<body>
    
</body>
</html

在这里插入图片描述

38. 嵌套for循环练习(二)

练习1:打印九九乘法表

<!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>
    <style>
        body{
            width: 2000px;
        }
        span{
            display: inline-block;
            width: 80px;
        }
    </style>
    <script>
        for(var i=1;i<=9;i++){
            for(var j=1;j<=i;j++){
                document.write("<span>"+j+"*"+i+"="+i*j+"</span>");
                
            }
            document.write("<br />");
        }
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
练习2:打印出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>
    <script>
        for(var i=2;i<=100;i++){
            var flag = true;
            for(var j=2;j<i;j++){
                if(i%j==0){
                    flag = false;
                }
            }
            if(flag){
                document.write(i+"<br />");
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

39. break和continue

break关键字可以用来退出switch或循环语句
不能在if语句中使用break和continue

break关键字,会立即终止离它最近的那个循环语句(终止此次循环)
continue关键字,会立即终止离它最近的循环语句(终止本次循环)

可以为循环语句创建一个标签,来标识当前循环,使得break/continune可以结束指定标签的循环

break中标签的使用:

outer:for(var i = 0;i<=5;i++){
    console.log("外循环"+i);
    for(var j=0;j<=5;j++){
        console.log("内循环"+j);
        break outer;
    }
}

在这里插入图片描述

continue中标签的使用:

outer:for(var i = 0;i<=5;i++){
    console.log("外循环"+i);
    for(var j=0;j<=5;j++){
        console.log("内循环"+j);
        continue outer;
    }
}

在这里插入图片描述

40. 质数练习的改进

console.time(“计时器名字”):来开启一个指定名字的计时器
console.timeEnd(“计时器名字”):来结束一个指定名字的计时器

Math.sqrt( ):传入一个数字作为参数,返回该数字的开方数

<!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>
    <script>
        console.time("clock");
        for(var i=2;i<=100;i++){
            var flag = true;
            for(var j=2;j<=Math.sqrt(i);j++){
                if(i%j==0){
                    flag = false;
                    break;
                }
            }
            if(flag){
                document.write(i+"<br />");
            }
        }
        console.timeEnd("clock");
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述

下一章节将对JS中对象和函数进行简单介绍,最最最精彩的部分来啦!
快来瞧瞧这是你对象不~

请添加图片描述


网站公告

今日签到

点亮在社区的每一天
去签到