介紹循環之前,首先要說一下同樣很重要的if-else結構,switch-case結構
①if-else結構
if(判斷條件) {
條件為true時執行
}
else{
條件為false時執行
}
②if-else-if結構(階梯if)
if(條件一){
條件一成立
}
else if( 條件二){
條件一不成立&&條件二成立
(else-if部分可以有多個)
}
else{
條件一不成立&&條件二不成立
}
③嵌套if結構
結構寫法
if(條件一){
條件一成立
if(條件二){
}
else{
條件一成立&&條件二不成立
}
}
else{
條件一不成立
}
要注意的是
if()中的表達式,運算之后結果應該是
①boolean: true為真,false為假
②string: 非空字符串為真,空字符串為假
③null / NaN /Undefined 全為假
④object類型 全為真
⑤number: 0為假,非零為真
Switch-Case結構
1..結構寫法:
switch(表達式){
case 常量表達式1:
語句一;
break;
case 表達式2:
語句二;
break;
.......
default:
語句N
}
2.注意事項:
①switch()中的表達式以及每個case后的表達式,可以為任何JS支持的數據類型(對象和數組除外)
②case后邊的所有常量表達式必須各不相同,否則,只會執行第一個。
③case后的常量可以是任何數據類型;同一個switch結構的不同case,可以是多種不同的數據類型;
④switch在進行判斷的時候,采用的是全等===判斷
⑤break;執行完case代碼后,跳出當前switch結構。
若缺少break:從正確的case項開始,依次執行所有的case和default
⑥switch結構在判斷時,只會判斷一次正確答案。當遇到正確的case項后,將不會再判斷后續項。依次往下執行
用法示例:輸入一個月份,判斷屬於哪個季度
var mon=Number(prompt("請輸入月份:")); switch(parseInt((mon-1)/3)){ case 0: document.write("第一季度"); break; case 1: document.write("第er二季度"); break; case 2: document.write("第三季度"); break; case 3: document.write("第四季度"); break; }
好了,下邊就是要說的非常重要的循環了;首先來說一下
while循環
【循環結構的步驟】
①聲明循環變量
②判斷循環條件
③執行循環體(while大括號中的所有代碼)操作
④改變循環變量
⑤循環執行②③④
【JS中循環條件支持的數據類型】
支持JS中的所有類型
①boolean: true為真,false為假
②string: 非空字符串為真,空字符串為假
③null / NaN /Undefined 全為假
④object類型 全為真
⑤number: 0為假,非零為真
至於do-while循環:
先執行,再判斷;即便條件不成立,也先執行一次。
最后來說一下最常用的
for循環
for(初始化循環變量;循環條件;修改循環變量的值){
}
for循環有三個表達式
①定義循環變量②判斷循環條件③更新循環變量,之間用分號隔開。
三個表達式可省略,但
分號不可省略
特點:先判斷,再執行
②for循環三個表達式均可以由多部分組成,中間用逗號分隔。但第二部分判斷要用&&連接,最終結果需要為真/假
例如:
for(n=1,j=5; n<=5; n++,j--){
}
循環控制語句
1.break:終止本層循環,繼續進行循環后邊的語句。
當eak只循環有多層時,br會跳過一層循環
2.continue:跳過本次循環,繼續執行下次循環
對於for循環,continue執行后,繼續執行循環變量更新語句n++
對於while do-while,continue執行后,繼續執行循環條件判斷;所以在這兩個循環中使用時,必須注意:continue一定要在n++后邊使用
【循環嵌套】
外層循環轉一次,內層循環轉一圈
下邊我們做個經典的圖形題:用*打印一個菱形
var f,g; for(f=1;f<=4;f++){ for(g=1;g<=4-f;g++){ document.write(" "); } for(g=1;g<=2*f-1;g++){ document.write("*"); } document.write("<br />"); } for(f=4;f>0;f--){ for(g=4-f;g>=0;g--){ document.write(" "); } for(g=2*f-4;g>=0;g--) { document.write("*") } document.write("<br />"); }
簡單總結一下:
【嵌套循環特點】
外層循環控制行數,內層循環控制每行元素個數
【圖形題思路】
1.確定圖形一共幾行,即為外層循環次數;
2.確定每行有幾種元素,代表有幾個內層循環;
3.每種元素有幾個,即為每個內層循環的次數;(通常找出每種元素個數與行號的關系式,即為當前內層循環的最大值(從一開始))