1.分支陳述句
分支結構的執行是依據一定的執行條件選擇路徑,而不是嚴格按照陳述句出現的物理順序執行
分支結構程式設計的關鍵在于構造合適的分支條件和分析程式流程,根據不同的流程選擇適當的分支陳述句
2.常用分支陳述句
① if,先判斷條件運算式的布林值,然后根據結果的真偽選擇執行不同的陳述句
書寫格式:if(條件運算式){
判結果為真時執行陳述句;
}
運算式必須放在小括號內,執行陳述句必須放在大括號內
條件運算式后不加分號,如果執行陳述句只有一句,則大括號可以不寫,但建議所有情況都使用大括號
② if else,是 if陳述句的升級版本,如果判斷條件運算式結果為真則執行陳述句1,如果判斷條件運算式結果為假則執行陳述句2
書寫格式:if(條件運算式){
結果為真時執行陳述句1;
}else{
結果為假時執行陳述句2;
}
③ if else if else,需要對一個變數進行多次條件判斷時,可以使用此分支結構,是 if else結構的嵌套形式
書寫格式:if(條件運算式1){
運算式1結果為真時執行陳述句1;
}else if(條件運算式2){
運算式2結果為真時執行陳述句2;
}……
else{
前面運算式結果為假時執行陳述句n;
}
else陳述句不能單獨存在,總是向上匹配離它最近的 if 陳述句
④ switch,與 if else if else結構表達含義類似
書寫格式:switch(運算式){
case"情況1":{執行陳述句1};
break;
case"情況2":{執行陳述句2};
break;
… …
default:{執行陳述句n}
}
3.回圈陳述句
有回圈體和回圈終止條件兩部分組成
常用回圈陳述句:
① while,包含一個回圈條件和一段代碼塊,事先不確定回圈次數,只要條件為真就重復執行代碼塊,直到條件為假時終止
語法格式:while(條件運算式){
條件為真時執行的陳述句;
變數增減;
}
while回圈注意事項:
由于while回圈是先判斷回圈條件,因此while回圈的最少執行次數是 0次
while回圈之所以能夠結束,是因為每次回圈執行的程序中都會改變回圈變數
執行while回圈之前,必須給回圈變數設定初始值
與if陳述句一樣,如果while回圈體中只有一條陳述句,那么大括號可以不加,但不推薦
while回圈結構末尾不需要加分號
回圈條件恒成立的回圈被稱作死回圈
② do while,與while回圈結構基本相同,不同的是do while回圈是先執行回圈體再進行條件判斷
語法格式:do{
執行陳述句;
}while(條件運算式);
③ for,包括標準 for回圈和 快速遍歷(增強for)兩種,通常意義上的 for回圈指的是標準 for回圈
4.標準for回圈:
語法格式:for(運算式1;運算式2;運算式3){
回圈體陳述句;
}
代碼示例:
for(var num=0;num<10;num++){
console.log(num);
}
上述代碼試譯:
首先執行運算式1,宣告num變數并進行初始化賦值;
然后執行運算式2進行判斷,結果為真則執行回圈體,否則跳出回圈;
當運算式2為真,且回圈體執行完一次后,執行運算式3,然后重復第二步,
注意事項:
for回圈運算式1可以不寫,如果不寫,則需要在回圈結構外宣告變數并初始化賦值
for回圈運算式2可以不寫,如果不寫,則回圈條件恒成立,為死回圈
for回圈運算式3可以不寫,如果不寫,則需要在回圈結構內部為回圈變數改變設定條件
示例:
var num=0;
for(;num<10;){
console.log(num);
num++;
}
歸納:根據以上所述,for 回圈的三個條件運算式都可以不寫,但括號中的分號不能省略!
<html lang="en">
<head>
<meta charset="UTF-8">
<title>斐波那契數列</title>
</head>
<body>
<script>
var num1=1
var num2=1
document.write(num1+"<br/>");
document.write(num2+"<br/>");
for (var i=1;i<=10;i++){
var num3=num2+num1;
num1 = num2;
num2 = num3;
document.write(num3+"<br/>")
}
</script>
</body>
</html>
5.快速遍歷(增強for):
是一種苦熬蘇瀏覽容器內元素的手段,不論容器內有多少元素,一定都能回圈一遍
語法格式:for(var 變數名 in 容器){
回圈體;
}
示例:
var arr=[1,2,3,4,5,6];
for(var num in arr){
console.log(arr[num]);
}
代碼釋意:創建一個區域變數 num,從陣列 arr逐個取出每個元素下標賦值給 num,并列印這個元素的值
6.回圈的嵌套使用
回圈和條件陳述句可以進行嵌套使用,從而進行復雜的邏輯處理
代碼示例:
for(var num=0;num<100;num++){
if(num%5==0){
console.log(num);
}
}
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
document.write(i*j);
}
}
7.回圈嵌套代碼實體:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>九九乘法表</title>
</head>
<body>
<script>
for (var i=1;i<10;i++){
for (var j=1;j<=i;j++){
document.write(j+"*"+i+"="+j*i+" "+" ");
}
document.write("<br/>")
}
</script>
</body>
</html>
<title>等腰三角形</title>
//實作方式一
<script>
var res="";
for (var i=1;i<=5;i++){
var blank="";
for (var j=1;j<=5-i;j++){
blank+=" ";
}
var star="";
for (var k=1;k<2*i;k++){
star+="*";
}
res+=blank+star+"\n";
}
console.log(res)
</script>
//實作方式二
<script>
for (var i=1;i<=5;i++){
for (var j=1;j<=5-i;j++){
document.write(" ");
}
for (var k=1;k<2*i;k++){
document.write("*");
}
document.write("<br/>");
}
</script>
//100以內奇數和偶數求和
<script>
var sum_even=0;
var sum_odd=0;
//for回圈
for (var i=1;i<=100;i++){
if (i%2==0){
sum_even+=i;
}
if (i%2!=0){
sum_odd+=i;
}
}
document.write("for回圈運算:"+"<br/>");
document.write(sum_even+"<br/>");
document.write(sum_odd+"<hr/>");
// while回圈
while (i<=100&& i%2==0){
sum_even+=i;
}
while (i<=100&& i%2!=0){
sum_odd+=i;
}
document.write("while回圈運算:"+"<br/>");
document.write(sum_even+"<br/>");
document.write(sum_odd);
</script>
8.break和continue陳述句
break陳述句用于跳出整個回圈陳述句,回圈終止不再執行
continue陳述句用于終止本輪回圈,回傳回圈頭部,繼續執行下一輪回圈,整個回圈不終止
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/5457.html
標籤:JavaScript
