
2. 流程控制2.1 if分支if 结构if(条件){代码块}// 案例1输入一个年龄判断是否成年若成年输出”成年“即可varage1prompt(请输入年龄);if(age118){alert(您的年龄为age1您已成年);}if-else 结构if(条件){代码块1}else{代码块2}// 案例2输入一个年龄判断是否成年若成年输出”成年“否则输出”未成年“varage2prompt(请输入年龄);if(age218){alert(您的年龄为age2您已成年);}else{alert(您的年龄为age2您未成年);}else if 结构if(条件){代码块}……else if(条件n){代码n}else{代码块n1}// 案例3输入一个年龄及等级判断当前年龄是否成年若未成年则免费入园如果成年且VIP等级大于3也免费入园否则需缴纳90元门票varage3prompt(请输入年龄);varlevel3prompt(请输入等级);if(age318){alert(您的年龄为age3您未成年免费入园);}elseif(age318level33){alert(您的年龄为age3您已成年VIP等级大于3免费入园);}else{alert(您的年龄为age3您已成年VIP等级小于等于3需缴纳90元门票);}2.2 switch分支格式switch(key){case 表达式1:代码1;break;case 表达式2:代码2;break; ……case 表达式n:代码n;break;default:代码 n1;}规则switch-case 结构中switch 括号中匹配的 key 匹配 case 后的 value若匹配上则执行 case 中的代码若没匹配上则执行 default 中的内容如果没有 default 则不执行任何内容default 为最终出口。key 和 value 都可以为表达式计算的结果也可以为具体的数据内容。break 可以不写但若匹配到的 case 无 break则会继续向下执行下一个 case直到遇到具备 break 的 case为止或执行到最终出口 default。switch 的运行速度比 if 分支快因此推荐在合适时尽量使用 switch。// 案例1输入一个等级判断等级是否为1、2、3、4、5varlevelprompt(请输入等级);switch(level){case1:alert(您的等级为1);break;case2:alert(您的等级为2);break;case3:alert(您的等级为3);break;case4:alert(您的等级为4);break;case5:alert(您的等级为5);break;default:alert(您输入的等级有误);}2.3 while循环whilewhile(循环条件){循环体}// 案例1输出3次“hello JS”vari0;while(i3){alert(hello JS);i;}// 案例2自造死循环利大于弊应用程序的运行 弊端造成内容大量使用而造成资源浪费while(10){alert(hello world);}// 案例3输出1-100之间的和i0;varsum0;while(i100){sumi;i;}console.log(1-100之间的和为sum);// 案例4输出1-100之间的偶数和i0;sum0;while(i100){if(i%20){sumi;}i;}console.log(1-100之间的偶数和为sum);// 案例5计算1-100之间的和当i为50时终止循环i0;sum0;while(i100){if(i50){break;}sumi;i;}console.log(1-100之间的和为sum);// 案例6计算1-100之间的和当i为50时跳过50继续循环计算i0;sum0;while(i100){if(i50){i;continue;}sumi;i;}console.log(1-100之间的和,跳过50为sum);do-whiledo{循环体}while(循环条件)// 案例输入用户名和密码判断是否登陆成功否则重新输入do{varusernameprompt(用户名)varpasswordprompt(密码)}while(username!张三||password!123)while 和 do-while 的区别do-while 无论条件满足或不满足都会执行至少一次的循环体break跳出所有循环continue跳出单次循环2.4 for循环格式for(循环变量;循环条件;循环变量变化){循环体}!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0titlefor循环/title/headbody/body/htmlscript// 案例1死循环// for(;;){循环体}// 案例2计算0-100的和varsum0;for(leti0;i101;i){sumi;}console.log(0-100的和为sum);// 案例3for循环的变形循环变量和其变化可以改变位置但两个分号不能动sum0;leti0;for(;i101;){sumi;i;}console.log(0-100的和为sum);// 案例4for循环嵌套九九乘法表打印for(leti1;i9;i){for(letj1;ji;j){console.log(i * j i*j);}}/script