JavaScript基础笔记2

本文深入讲解了编程中的流程控制结构,包括顺序结构、分支结构(if、if-else、switch-case)和循环结构(while、do-while、for)。通过实例演示了如何使用这些结构来实现复杂的逻辑判断和循环操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程控制:

代码的执行的行为的方式

  1. 顺序结构:代码的执行顺序,从上到下,从左到右.
  2. 分支结构:if,if-else,if-else if-else if-else if...else ,switch-case,三元表达式
  3. 循环结构:while,do-while,for

if语句:

if(条件){
     语句(代码块);
}
执行过程:
判断条件是否为true,如果为true则执行大括号中的语句
条件:一般都是一个表达式,或者是一个变量------>结果是布尔类型

if-else语句的语法:

if(条件){
     语句1;
}else{
     语句2;
 }
执行过程:
先判断条件是否成立,如果条件成立,则执行语句1,否则执行语句2
if-else的语句,必然会执行一个

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>

  <script>
    //判断一个数字是奇数还是偶数

    //var num=11;
    var num = prompt("请输入一个数字");
    //当输入一个数字的时候,实际上是字符串类型的,之所以能够计算,是因为浏览器帮助我们做了隐式转换
    console.log(typeof num);
    if (num % 2 == 0) {
      console.log("偶数");
    } else {
      console.log("奇数");
    }
  </script>
</head>

<body>

</body>
</html>

输入20

三元表达式:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    //三元表达式:由三元运算符连接起来的式子,三元表达式
    //三元运算符:  ? :
    //三元表达式:    var 变量名 = 表达式1?表达式2:表达式3
    //执行过程: 表达式1是否成立,如果成立,则执行表达式2.否则执行表达式3,最终把结果赋值给变量名即可

    //获取两个数字中的最大值
    var num1=10;
    var num2=20;
    var result=num1>num2?num1:num2;
    console.log(result);

    //扩展:获取三个数字中的最大值
    var num4 = 10;
    var num5 = 20;
    var num6 = 30;
    var max=(num1>num2)?(num1>num3?num1:num3):(num2>num3?num2:num3);
    console.log(max);
    //总结:凡是可以使用if-else的语句,都可以尝试着使用三元表达式
  </script>
</head>

<body>

</body>
</html>

switch-case语句:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    /*
     * switch-case语句:
     *
     * 语法:
     * switch(表达式){
     *   case 值1:语句1;break;
     *   case 值2:语句2;break;
     *   case 值3:语句3;break;
     *   case 值4:语句4;break;
     *   ...
     *   default:语句;
     * }
     *
     * 执行过程:
     * 获取表达式的值,和case后面的 值1 对比,如果匹配,则执行语句1;遇到break,则跳出整个结构,
     * 如果和值1不匹配,则和值2对比,如果匹配则执行语句2,遇到break则跳出整个结构,否则和值3对比,匹配则执行语句3,遇到break,则跳出整个结构,否则和值4对比,匹配则执行语句4,遇到break,则跳出,如果和case后面的值都匹配不成功,则执行default后面的语句
     *
     * 注意的问题:
     * switch-case中匹配值的时候是按照严格的模式进行匹配的(相当于使用的是===的方式)
     * switch-case中的break是可以省略的,但是一旦和case后面的值匹配后,会继续的向下执行,一直到遇到break之后才会跳出当前的整个代码
     *
     * */

    //根据数字值显示对应的星期
    var num = prompt("请输入一个星期的数字");
    switch (num) {
      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("您输入有误");
    }

    //根据月份显示天数(不考虑闰年和闰月的问题)
    var month = 9;
    switch (month){
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
	      console.log("31天");
		  break;
      case 2:
	      console.log("28天");
		  break;
      case 4:
      case 6:
      case 9:
      case 11:
	      console.log("30天");
		  break;
      default:
	      console.log("您输入的月份不存在");
    }

  </script>
</head>
<body>


</body>
</html>

while循环:

循环的方式:while循环,do-while循环,for循环,for-in循环

while循环,计数器--负责记录循环的次数,到达结束的条件之后,结束循环了

 var i=0;//负责记录循环次数的,一般初始值为0
while(循环的条件){
     循环体(大括号中的代码叫循环体)
     i++;
}

执行过程:
先判断循环条件是否为true,如果为true则执行循环体,执行循环体后,执行i++,然后,直接跳到 :循环的条件的位置,判断是否成立,如果成立则继续循环,继续判断条件,继续循环,继续判断条件,直到条件不成立,跳出循环了. 否则不执行(跳出循环)

do-while循环语法:

var i=0;//计数器
do{
     循环体
     i++;
}while(条件);

执行过程:
先执行一次循环体,然后判断条件是否成立,如果成立则继续循环,继续判断...
如果条件不成立,则循环体不再执行了

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>

  <script>

    //提示用户请输入您的帐号和密码,如果有一个错误了,则提示用户继续的输入帐号和密码
    do {
      //提示用户输入帐号
      var userName = prompt("请您输入您的帐号");
      //提示用户输入密码
      var userPwd = prompt("请您输入您的密码");

    } while (userName != "admin"||userPwd!="123" );
    console.log("登录成功");

  </script>
</head>
<body>

</body>
</html>

for循环的语法:

for(表达式1;表达式2;表达式3){
    循环体;
}

执行过程:

  1. 先执行表达式1,然后判断表达式2是否成立,不成立,跳出循环
  2. 如果表达式2成立,则执行循环体,然后执行表达式3
  3. 然后再执行表达式2,判断是否成立,不成立则跳出循环
  4. 如果成立,则继续执行循环体,然后执行表达式3,然后判断表达式2
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>

    document.write("<table border='1'>");
    //控制的行数
    for(var i=1;i<=9;i++){
      document.write("<tr>");
      //控制每一行有多少个表达式
      for(var j=1;j<=i;j++){
        document.write("<td>");
        document.write(j+"*"+i+"="+i*j);
        document.write("</td>");
      }
      document.write("</tr>");
    }
    document.write("</table>");

    //页面中弹框:alert()---->有一个确定的提示; prompt()--->输入的提示
    //console.log()--->控制台中显示
    //页面中显示:document.write();
  </script>
</head>

<body>

</body>
</html>

break关键字

在循环中如果遇到了break关键字,则立刻跳出当前所在的循环

continue关键字

在循环中遇到了continue立刻回到循环的条件的位置,继续下一次循环

总结

什么时候使用if语句?

  • 只有一个判断的时候使用if语句

什么时候使用if-else语句?

  • 有两个分支,并且只有一个结果的时候.

什么时候使用三元表达式?

  • 使用if-else语句的时候,都可以使用三元表达式

什么时候使用if-else if-else if-else if语句?

  • 多个分支,一般多个分支并且是范围的判断,就使用这个结构

什么时候使用switch-case语句?

  • 多个分支,一般是针对多个值的判断使用switch-case语句

什么时候使用while循环?

  • 能够使用while循环的几乎都可以使用for循环(不严谨)
  • 如果不知道循环次数,此时一般选择使用while循环  while(true){}

什么时候使用do-while循环?

  • while循环的特点:先判断.后循环
  • do-while循环的特点:最少执行一次循环,然后再判断

什么时候使用for循环?

  • 一般知道了循环的次数,可以使用while循环,也可以使用for循环,推荐用for循环

调试:

  • 加断点,单行调试(单步调试,F11)
  • 加断点,逐过程的调试,F8

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都不懂的菜鸟玩家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值