8、控制语句
8.1 if条件控制语句
-
if语句只有当指定条件为true时,使用该语句来执行代码
if (条件) { 只有当条件为 true 时执行的代码 }
-
if…else语句当条件为true时执行代码,当条件为false时执行其他代码
if (条件) { 当条件为 true 时执行的代码 } else { 当条件不为 true 时执行的代码 }
-
if…else if…else语句使用该语句来选择多个代码块之一来执行
if (条件 1) { 当条件 1 为 true 时执行的代码 } else if (条件 2) { 当条件 2 为 true 时执行的代码 } else { 当条件 1 和 条件 2 都不为 true 时执行的代码 }
例:
<script> //通过浏览器弹出一个输入框 //在输入框中输入一段文字 //判断文字符合某种条件,运行不同的代码 var a = prompt("提示","请输入自己的名字"); if (a =="张三") { console.log("欢迎你,张三"); }else if(a == "小明"){ console.log("欢迎你小明"); }else{ console.log("没有这个人"); } </script>
8.2 switch控制语句
switch语句使用该语句来选择多个代码块之一来执行,其中default 关键词来规定匹配不存在时做的事情
switch语句是if 语句的兄弟语句
switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 }
例:
//获取系统的时间,然后输出当天是星期几 var time = new Date();//严格区分大小写 console.log(time); //Mon Sep 11 2020 11:27:45 var date = time.getDay(); //getDay()得到的值是0~6 switch(date){ case 0: console.log("星期天"); break; 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; default: console.log("默认输出效果"); }
JavaScript 支持不同类型的循环:
-
for - 循环代码块一定的次数
-
for/in - 循环遍历对象的属性
-
while - 当指定的条件为 true 时循环指定的代码块
-
do/while - 同样当指定的条件为 true 时循环指定的代码块
8.3.1 for循环控制语句
//语句 1 在循环(代码块)开始前执行 //语句 2 定义运行循环(代码块)的条件 //语句 3 在循环(代码块)已被执行之后执行 for (语句 1; 语句 2; 语句 3) { 被执行的代码块 }
例:
//for循环1到100的和 var sum = 0; for(var ab = 1; ab <= 100;ab++){ sum += ab; } console.log(sum);
//for 的多重循环 构成5*5的正方形 for( var zz = 0; zz <5;zz++){ //输出行 for(var ff = 0; ff < 5;ff++){ // 输出列 document.write("*"); } document.write("<br>"); //换行 }
8.3.2 for/in 循环
JavaScript for/in 语句循环遍历对象的属性:
例:
var person={fname:"John",lname:"Doe",age:25}; for (x `in` person) { txt=txt + person[x]; }
8.4 while控制循环
只要指定条件为 true,循环就可以一直执行代码,如果没有设置终止条件,它会不断循环下去
while (条件){ 需要执行的代码 //当条件为true时执行 }
例:
//利用while循环来输出1~ 100 var sum = 0; var i = 1 ; while( i < 101){ sum += i; i++; } console.log("sum ="+sum);
//例用 while构成5*5的正方形 var cang = 1; var kuan = 1; while(cang <=5){ while(kuan <= 5){ document.write("*"); kuan++; } document.write("<br>"); cang++; kuan = 1; }
8.5 do..while循环
do/while循环是while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环
do{ sum += i; i++; } while (i < 101); console.log("sum="+sum);
例:
//输出5*5的正方形 var m = 0; var n = 0; do{ do{ document.write("*"); m++; } while (m<5); document.write("<br>"); m = 0; n++; } while (n<5);
8.6 break 和continue 语句
break:跳出switch语句、 跳出当前循环,并继续执行循环之后的代码(如果有)
continue:中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代
明天,就发内置对象这一块的吧