JS循环(for、while)和分支(if、switch)语句

编程入门 行业动态 更新时间:2024-10-26 03:29:16

JS循环(for、while)和<a href=https://www.elefans.com/category/jswz/34/1762439.html style=分支(if、switch)语句"/>

JS循环(for、while)和分支(if、switch)语句

一、For循环

基本用法

for (语句 1; 语句 2; 语句 3) {要执行的代码块
}
function 读取(){for(let RowNum=2;RowNum<=5;RowNum=RowNum+1){console.log(Range("a"+RowNum).Value());console.log(Range("b"+RowNum).Value());console.log('-----------')}
}
function 求和(){for(let IntNum=2;IntNum<=5;IntNum++){Range("d"+IntNum).Value2=Range("b"+IntNum).Value()+Range("c"+IntNum).Value()}
}
function 读取工作表名称(){for(let ShsC=1;ShsC<=Sheets.Count;ShsC++){console.log(Worksheets(ShsC).Name)}
}
function 九九乘法表(){for(let a =1;a<=9;a++){for(let b=1;b<=a;b++){Cells(a,b).Value2=a+"X"+b+"="+a*b}}
}

for in循环

for/in语句可以读取数组中的下标(索引号),或者对象的属性。

function test1(){var arr=[12,13,456,4564,45];//相当于[0:12,1:13,2:456,3:4564,4:45]for(let intIndex in arr){console.log(intIndex+"-"+arr[intIndex]);}
}function test2(){var obj={a:100,b:200,c:"rong"};//数组for(let keys in obj){console.log(keys+"-"+obj[keys]);}
}
function 求和(){var Arr1=Range("b2:b6").Value();var Sums=0var arr2=""for(let keys in Arr1){arr2 += Arr1[keys];//直接提取Arr1[keys]仍然是数组Sums += Arr1[keys][0]}console.log(arr2);console.log(Sums)
}

for of循环

使用 for of 循环可以轻松的遍历数组或者其它可遍历的对象,例如字符串、集合等。

function test1(){let arr=[33,56,2,243,654];for (let intValue of arr){console.log(intValue);}for (let strValue of "who am i?"){console.log(strValue);}
}
function 求和(){let totals = 0;for(let Rng of ["b2:b6","c2:c6","d2:d6"]){for(let RngCells of Range(Rng)){totals +=RngCells.Value();}Console.log(totals);totals=0;}
}

二、while循环

function test(){let intNum=0;while (intNum<=5){console.log("OK"+intNum);intNum++;}
}

三、IF分支语句

if (条件) {// 如果条件为真,执行这里的代码块
} else {// 如果条件为假,执行这里的代码块
}
function test1(){for (let intNum=2;intNum<=11;intNum++){let intScore=Cells(intNum,"B").Value();if (intScore>=80){Cells(intNum,"C").Value2="✔"}else{Cells(intNum,"C").Value2="✘"}}
}

多分支

function 判断(){for(let Rngcell of Range("b2:b11")){let Rngvalue = Rngcell.Value();if(Rngvalue >= 90){Rngcell(1,2).Value2 = "优"}else if(Rngvalue >= 80){Rngcell(1,2).Value2 = "中"}else if(Rngvalue >= 60){Rngcell(1,2).Value2 = "良"}else{Rngcell(1,2).Value2= "差"}}
}

多条件

function 判断(){for(let RngV=2;RngV<=11;RngV++){if(Range("b"+RngV).Value2>=120 &&Range("c"+RngV).Value2>=120 &&Range("d"+RngV).Value2>=120){Range("e"+RngV).Value2 = "合格"}}
}
function test2(){for (let intNum=2;intNum<=11;intNum++){if(Cells(intNum,2).Value()>=100){if (Cells(intNum,3).Value()>=120){if (Cells(intNum,4).Value()>=120){Cells(intNum,6).Value2="YES";}}}}
}

四、Switch分支语句

function test(){let strContent=InputBox("输入数字");switch (Number(strContent)){case 1:alert("A");break;case 2:alert("B");break;case 3:alert("C");break;default:alert("Other");break;}
}
function 判断(){for(let rngcell of Range("b2:b12")){let rngvalue = rngcell.Value();switch(true){case rngvalue>=90:rngcell(1,2).Value2 = "优";break;case rngvalue>=80:rngcell(1,2).Value2 = "良";break;case rngvalue>=60:rngcell(1,2).Value2 = "中";break;default:rngcell(1,2).Value2 = "差";}}
}

五、Break语句

break语句在单独使用时,会导致包含它的循环或switch语句立即退出。

function test(){let intTotal=0;for (let intRow=3;intRow<=9;intRow++){for (let intCol=2;intCol<=13;intCol++){let intAmount=Cells(intRow,intCol).Value();intTotal +=intAmount;if (intTotal>=1000){Cells(intRow,"N").Value2=`${intTotal}-${intCol-1}月`;break;}}intTotal=0;}
}

六、Continue语句

continue语句只能在循环体内使用,它不会退出循环,只是不再执行continue后面的语句,而是继续执行下一次循环。

function test2(){for (let rngCell of Range("b2:b10")){if (rngCell.Value()<80){continue}rngCell.Interior.Color = 65535;rngCell.Font.Color = 255;		}
}

七、try catch语句

function test1(){try{console.Log("123")}catch(err){alert(err);alert(err.message);}
}
function test2(){let intNum=1;while (true){try{alert(Sheets(intNum).Name);}catch{alert("没表了");break;}intNum++;}
}

更多推荐

JS循环(for、while)和分支(if、switch)语句

本文发布于:2023-11-15 10:17:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分支   语句   JS   switch

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!