JS基础(4)

流程控制 主要分为 顺序 选择 循环

顺序结构 从上向下进行

选择结构 根据条件决定执行那一段代码

循环结构 在给定条件成立情况反复执行一段代码  要设置退出机制

//选择结构  if

//如果条件表达式为真 则执行语句块1 否则不执行

/*var age = 20;

if (age > 18) {

console.log("可以上网");

}

//如果条件表达式为真 则执行语句块1 否则 执行语句块2

var age = 3;

if (age > 18) {

console.log("可以上网");

}else{

console.log("不能上网");

}

//多条件语句块  如果都不为真 则执行最后一个else

var age1 = 50

if (age1 > 30) {

console.log("中年人");

}else if (age1 >20 && age1 <30) {

console.log("青年人");

}else{

console.log("小孩纸");

}*/

//if语句 注意点

//1.if()后只管后面一句 记得加大括号

//2.分号“;”也是一个语句  所以 if();不对吼

//3.if 和 else 是一个整体 else 匹配 if时匹配离他最近的if

/*if(0)

if(1){

console.log("A");

}else{

console.log("B");

}else{

if(1){

console.log("C");

}else{

console.log("D");

}

}          */              //输出C

//4.对于非Boolean类型 先转为布尔型在判断

//if(1)  即为 if(true)

//判断变量与字面量的问题

// a = 0 是赋值  a == 0才是判断 要时刻牢记

// 所以我们可以写成 0 == a 因为 变量必须在左边 所以 如果写成 0 = a 就会提醒报错

//if语句可以嵌套使用

/*var num = 20;

if (num >= 10) {

if(num <= 30){

console.log("条件满足");

}

}

//另一种写法

if(num >= 10 && num <=30){

console.log("条件满足");

}*/

/*//SWITCH 语句

switch(条件表达式){

case 表达式1:

语句1;

break;

case 表达式2:

语句2;

break;

case 表达式n:

语句n;

break;

default:

语句n+1;

break;

}

*/

//计算条件表达式的值  然后与case中比较

//当条件表达式 与某一语句全等时 === 执行该语句

//都不等 则执行default中语句

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

case 2:

console.log('贰');

break;

case 3:

console.log('叁')

break;

default:

console.log("其他数字");

break;

}*/

//注意事项

//case 全等于问题

/* var str = "123";

switch(str){

case 123:

console.log("true");

break;

case "123":

console.log("false");

break;

default:

console.log("failed");

}*/

// case 后既可以是字面量 也可以是变量 也可以是表达式

/* var str = "123";

switch(str){

case 123:

console.log("true");

break;

case str:

console.log("false");

break;

default:

console.log("failed");

}*/

//表达式判断问题

//case 后也可以是表达式

/*var str = 123;

switch(100+23){

case 100+20+3:

console.log("true");

break;

case str:

console.log("false");

break;

default:

console.log("failed");

}*/

//case穿透问题

//case只匹配一次

//最后加上break; 否则会继续执行下面的语句

/*var number = 1;

switch(number){

case 1:

console.log('壹');

case 2:

console.log('贰');

case 3:

console.log('叁')

default:

console.log("其他数字");

break;

}*/

//default可以省略  可以写到任何位置

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

case 2:

console.log('贰');

break;

}*/

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

default:

console.log("其他数字");

break;

case 2:

console.log('贰');

break;

}

*/

//if 与 switch 中的抉择

//当分支很多而且不能穷尽的时候 用if

//数据量不是很大 并且数据是固定的 那么可以用switch

//理论上switch效率更高

//switch上存在的弊端: 比如 判断用户输入数字是否大于100

//循环语句

//while循环

//格式

/* while(条件表达式){

语句1;

语句2;

……语句n

      }*/

//只要条件表达式一直为真 就一直循环

//爱你三千遍

/*var num = 0;

while(num < 3000){

num++;

console.log("爱你"+ num +"遍\n");

}*/

//构成循环结构的条件:

// 循环控制条件(条件表达式)  控制什么时候退出循环

// 循环体{}内的内容    重复执行的代码段

// 循环结束语句(递增,递减,break等)  就是能够让循环条件变假的依据 使退出循环

// while循环注意点

//      一、死循环  while(true){}  循环永远执行

//      二、任何值都有真假性 转为Boolean型在判断 while(1)就是 while(true)

//      三、分号问题 分号也为语句。  while(1);{}整段垮掉

//break 和 continue 的使用

//跳出switch 有用到

//跳出循环

/* while("健身"){

console.log("跑步");

if ("腿抽筋了") {

break;

}

console.log("有氧");

console.log("无氧");

}*/

/*var num = 0;

while(true){

console.log(num);

if (num === 3) {

break;

}

num++;

}*/

//break只在循环语句和switch语句中有意义

//在多层循环中 一个break语句只向外跳一层

/*while(1){

while(2){

console.log("hello");

break;//跳出while(2) 但是仍然在while(1)中

}

console.log("goodbye");

}*/

//break后的语句不会执行

/*while(1){

alert("goodbye");

break;

alert("hello");

}*/

/* while("健身"){

console.log("跑步");

if ("腿抽筋好了") {

continue;

}

console.log("有氧");

console.log("无氧");

}*/

//continue  跳过当前循环体中的剩余语句 开始下一次的循环

/*var num = 0;

while(num < 10){

num++;

if(num % 2 ===0){

continue;

}

console.log(num);

}//会输出 1 3 5 7 9*/

//输出10以内3的倍数

/*var num = 0;

while(num <= 10){

num++;

if(num % 3 !== 0){

continue;

}

console.log(num);

}*/

//do while语句

//格式

// do{

// 语句1;

// 语句2;

// ……

// 语句n

// }while(条件); 

// 首先会执行一次循环体中的语句

// 在判断条件表达式为真 真的话再次循环

// 重复直到条件表达式为 false

/*var num = 10;

do{

console.log("hello");

}while(num > 10);*/

//特点 不管条件是否成立总运行一次

//应用场景  口令校验

//for循环

//for循环运用最为灵活  不仅可以用于循环次数确定的  而且也可以用于循环次数不确定 只给出循环结束条件的情况

//格式

/*for(①初始化表达式;②循环条件表达式;④循环后操作表达式)

{

③执行语句;

}*/

//for循环执行流程

// 开始的时候  先执行初始化表达式  整个循环中只执行一次

// 然后判断循环条件表达式是否为真 为真可是循环

// 循环体执行结束 执行循环化操作表达式

// 再次判断循环条件表达式是否为真 真开始新的循环

// 重复上述过程 直到条件不成立

//爱你三千遍

/*for (var i = 1; i <= 3000; i++) {

console.log("爱你"+i+"遍\n");

}

*/

//for 和 while 的抉择

//一般可以互换  如果循环完毕之后不需要使用用于控制循环的增量 那么for更好

// 循环次数不固定时

//for注意事项

// 可以for( ; ; ){} 三个表达式可以不写  相当于 while(1)    其他注意点 跟while差不多

//用for打印好友列表

/*  好友列表1

好友1

好友2

好友3

好友列表2

好友1

好友2

好友3*/

/* for (var i =  1; i <= 2; i++) {

console.log("好友列表" + i);

for (var j =  1; j <= 3; j++) {

console.log(" 好友" + j);

}

}

*/

你可能感兴趣的:(JS基础(4))