目錄
一、雙重for循環
練習
二、break關鍵字
三、continue 關鍵字
練習
四、三元運算 / 三目運算
?
一、雙重for循環
- 外層循環 循環一次,,,內層循環 循環一圈!!!
循環里嵌套循環:
for(var i=0;i<10;i++){for(var j=0;j<5;j++){//XXXXXX}
}
練習
1、頁面中輸出 * 9行 5列
document.write("*")
*****
*****
*****
*****
*****
*****
*****
*****
*****for(var i=0;i<9;i++){for(var j=0;j<5;j++){document.write("*")}document.write("<br/>")}
2、頁面中輸出 * 三角形
*
**
***
****
*****
******
*******
********
*********// 9行 循環// row=1 輸出1個 內層執行1次// row=2 輸出2個 內層執行2次// row=3 輸出3個 內層執行3次// row=4 輸出4個 內層執行4次// 9 9
for (var row = 0; row < 9; row++) {for (var col = 0; col < row; col++) {document.write("*");}//row等于0的時候不希望輸出空格 所以判斷一下if (row !== 0) {document.write("<br/>")}
}
二、break關鍵字
-
在循環沒有完全結束時,因為我設置的條件滿足了,提前終止循環
例子:
吃早餐,吃5個包子,吃了第三個的時候,不能在吃了,就停止吃這個包子
這時候就不吃了,終止循環,使用break關鍵字
三、continue 關鍵字
-
在循環中,把本次循環跳過去,繼續執行后續的循環
for(var i=1;i<=5;i++){console.log("我吃了"+i+"個包子");if(i===3){break;}}
-
跳出本次循環 就使用continue關鍵字
for(var i=1;i<=5;i++){if(i==3){console.log("都三個掉了");continue;}console.log("我吃了"+i+"個包子");
}
練習
1、計算100的階乘(從1乘到100)!
比如4的階乘 1* 2 * 3 * 4
8的階乘 1* 2 * 3 * 4 * 5 * 6 * 7 * 8
var jc=1;for(var i=1;i<=100;i++){//i 1 - 100// i = 1 ===> 1*1 jc=1*1// i = 2 ===> 1*1*2 jc=1*1*2// i = 3 ===> 1*1*2*3 jc=1*1*2*3// .....//jc = jc*i;jc*=i}console.log(jc);
2、求100-999之間的水仙花數!
比如一個數字
345 (如果個位、十位、百位 三次方相加等于這個數字,那么這個數就叫水仙花數)
3**3 + 4**3 + 5**3 = 345 那么345就是水仙花數
提示:
取出來個位、十位、百位數for(var i=100;i<=999;i++){// 101 ==1var g = i%10;// 101==>10.1==>10==>%10var s = parseInt(i/10)%10;var b = parseInt(i/100)%10;if(g**3+s**3+b**3===i){console.log("水仙花數"+i);}}
3、判斷一個數字是不是質數
// 如果一個數 除了1和它本身 不能被其他整數整除 這就是質數
// 如果除了1和本身 還有其他數可以整除 叫合數!!
提示:1-100之間的數 循環從2開始 -99var num = 7;
// 如果一個數 除了1和它本身 不能被其他整數整除 這就是質數
// 如果除了1和本身 還有其他數可以整除 叫合數!!
// 提示:1-100之間的數 循環從2開始 -99//- 2-99之間的數var count=0; // 記錄一下被整除的次數!!!for(var i=2;i<num;i++){//判斷num 和 i 有沒有整除的// 給所以的i都判斷if(num % i == 0){count = count+1;}}if(count == 0){// 沒有被其他的數整除console.log("質數");}else{console.log("合數");}
4、籃球從5米高的地方掉下來,每次彈起的高度是原來的30%,經過幾次彈起,籃球的高度小于0.1米
var h = 5;
var count=0;// 記錄彈起的次數
//提示 break 退出循環
//寫一個死循環,直到h<0.1 結束循環var h = 5;var count = 0;//次數while (true) {h = h * 0.3;count = count + 1;if (h < 0.1) {break;}}
5、有一個棋盤,有64個方格,在第一個方格里放一粒芝麻,重量是0.00001kg,第二個方格里放2粒
第三個放4粒,第四個8 第五個16 第六個32.。。。棋盤上所有芝麻的重量
?
6、求1!+2!+3!+4!+5!+6!+.....100!的和
?
?
四、三元運算 / 三目運算
三元運算:兩個符號 三個表達式 條件?條件真執行:條件假執行
兩元運算:一個符號 兩個表達式 a+b
一元運算:一個符號 一個表達式 !flag
其實就是if判斷的簡寫var score = 59;
// if(score>=60){
// console.log("及格");
// }else{
// console.log("不及格");
// }
// 語法:條件?條件為真執行的代碼:條件為假執行的代碼
score>=60?console.log("及格"):console.log("不及格");// 思考:看電視劇 年齡在18-60之間可以觀看所有,否則不能看
var age = 29;
age>=18&&age<=60?alert("觀看所有"):alert("不能看")
?