js 条件语句&循环语句
发布日期:2022-02-08 04:20:56 浏览次数:5 分类:技术文章

本文共 4031 字,大约阅读时间需要 13 分钟。

条件语句

1.三种 if 语句

if(隐式转换为布尔值){}

if () {} else {}
if () {} else if() {}
条件中的结果不是 “”,false,0,NaN,undefined,null就可以进入条件;
如果条件语句块只有一句话的时候,可以省略{};
配合函数中的return将会很少使用到if else if .

2.switch开关语句

判断switch()中表达式是否(绝对===)等于case后的值

var s=10;   switch (s%10){
case 1:break; case 2:break; case 0:document.write("switch常用语法格式");break; default:break; }
  • switch 穿越

    break作用是跳出switch语句块,break后面的语句块将不再执行;

    但是如果没有break,仍然在不判断结果的情况下执行一个case的语句块,这叫穿越.

    • switch 或者穿越
      var s=10;     switch(s%10){
      case 0: case 1: case 2: case 3: case 4: s++; break; } console.log(s); //只要条件匹配,就能够执行最后的语句块;结果是11。
    • switch 累积穿越
      var s=10;      switch(s%10){
      case 0: s=100; case 1: case 2: case 3: case 4: s--; break; } console.log(s); //s重新赋值,重新计算值;结果是99。

3.练习:输入成绩,返回分类段

  • 方法一:if else if
    var value = parseInt(prompt("请输入成绩"));//prompt弹窗输入内容//如果输入的是小数,就取整;如果输入比如12a也会取12if(!isNaN(value)){
    if(value>100) document.write("输入错误"); else if(value>90) document.write("A"); else if(value>80) document.write("B"); else if(value>70) document.write("C"); else if(value>60) document.write("D"); else document.write("Error!");}else document.write("非数值");
  • 方法二:switch
    var score = Number(prompt("请输入你的成绩"));//输入的成绩是字符串的话,直接NaNswitch(parseInt(score/10)){
    case 10: //当100时,没有break,穿越了,实际执行的是case :9 case 9:document.write("A");break; case 8:document.write("B");break; case 7:document.write("C");break; case 6:document.write("D");break; default:document.write("输入错误");}

循环语句

1、必须有起始值;必须有一个循环条件;必须有一个不断向条件外处理的语句;

2、循环是同步,如果循环较长就会卡顿;
3、跳出循环break ;break还可以设置锚点位置;
4、当执行continue后,跳出当前循环,进入下一次循环。

1、 while语句

示例1:写出 ul里面5个li

var str1 = "";	str1+="
    "; var i=0; while(i<5){
    str1+="
  • "+i+"
  • "; i++; } str1+="
"; document.write(str1);

示例2:双重循环语句,设置锚点,打印多个ul,每个ul里有多个li

var str = "";	var i=0,j;	while (i<5){
str+="
    "; j=0; AB: while(j<3){
    str+="
  • "+j+"
  • "; if(i===1&&j===1) break AB;//控制不打印第二个ul的第三个li j++; } str+="
"; i++; } document.write(str);

示例3:table表格js写法 5个表格,每个表格里面3行4列,数值依次从0-11;

var j = 0,i = 0,k=0;	var str = "";	str += "
"; while(j<3){
str+="
"; i=0; while(i<4){
str+="
";//打印 j = 4; i++; } str+="
"; j++; } str+="
"+(j*4+i)+"
"; document.write(str);

示例4:九九九乘法表

var j = 1,i,k=0;	var str = "";	str += "
"; while(j<10){
str+="
"; i=9; while(i>0){
str+="
";//打印 j = 4; if(j==i) break; i--; } str+="
"; j++; } str+="
"+j+"*"+i+"="+j*i+"
"; document.write(str);

示例5:链表

var obj={
value:1,next:{
value:2,next:{
value:3,next:{
value:4,next:{
value:5,next:{
value:6 } } } } } }; console.log(obj.value);//1只有第一个 console.log(obj.next);//打印next的内容 while(obj=obj.next){
console.log(obj.value);//可以遍历从next开始往下的内容 }

示例6:求100-1000的质数

//素数是1和他本身外,都不能整除的数//思路:用i除以1-自身之间的数值,如果没有余数,就不是素数(质数)	var i = 100,j=2,bool;	while(i<1000){
bool=false; j=2;//每次从2开始 while(j

示例7:画三角形

var i=1,j=0,k=0;	while(i<10){
k=0; while(k<(9-i)){
document.write(" "); k++; } j=1; while(j
"); i++; }

2、do while语句

是先执行语句块,再判断是否继续循环

3、 for循环

for(初始变量;循环条件;向条件外变化的表达式){

循环体
}
初始定义变量,每次循环的开始先执行,执行一次;
条件语句先判断,条件语句计算完成后必须转换为布尔值,是true才进入语句块;
向条件外变化的表达式,是所有语句块运行完成后执行的。

  • for循环的简化
for(var i=0,sum=0;i<100;i++){
sum+=i; } console.log(sum);//4950 for(var i=0,sum=0;i<100;sum+=i,i++); console.log(sum);//4950 for(var i=0,sum=0;i<100;sum+=i++); console.log(sum);//4950

综合应用

  • 求闰年

成为闰年条件:能被4整除,不能被100整除;或者,能被400整除。

for(var i=1000;i<2000;i++){
if(i%100===0 && i%400!==0)continue;//不满足条件的先排除 if(i%4===0 || i%400===0) console.log(i); }

转载地址:https://blog.csdn.net/weixin_43297321/article/details/104074828 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:js String基础
下一篇:js 对象

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月11日 05时04分13秒