學習JS的第三天
一、邏輯分支(續)
1、三目運算子:條件運算子
a>b?c:d;表示式1?表示式2:表示式3;
根據表示式1執行的結果,來決定執行表示式2還是表示式3
表示式1結果是true執行表示式2,最終返回表示式2的結果
表示式1結果是false執行表示式3,最終返回表示式3的結果
2、Switch/case
語法:
switch(表示式){
case 表示式1:分支語句一;
break;
case 表示式2:分支語句二;break;
case 表示式3:分支語句三;break;
…
case 表示式n:分支語句n;break;
default:預設分支語句
}
規範:
1.所有的括號成對輸入
2.所有的雙引號成對輸入
3.一句話佔一行(不用多句話寫在一行)
4.花括號單獨佔一行
5.縮排對齊:
a)同級對齊
b)子一級比上一級縮排4個空格
注意點:
1.if後面的()不能省略,()後面不要加分號
2.if分支中即使一句話也要把{}寫上(一行程式碼3塊錢)
3.if巢狀不要超過五層(最好不要超過3層)
4.Switch語句裡把default分支一定要寫上,防止在以後的維護中產生歧義(default:相當於if else最後的else)
把執行概率更大(正常情況)放在前面(if,case
5.if else 和 switch用誰?
判斷範圍用if else ,等值一般用switch;
一個簡單的成績等級劃分
1 var score =100;
2
3 switch(parseInt(score/10)){
4
5 case 10:
6
7 case 9:
8
9 console.log("A");
10
11 break;
12
13 case 8:
14
15 console.log("B");
16
17 break;
18
19 case 7:
20
21 console.log("C");
22
23 break;
24
25 case 6:
26
27 console.log("D");
28 break;
29
30 default :console.log("E");
31 }
二、迴圈
1、while /do while
/*
while條件表示式()
迴圈體;
*/
1、條件表示式是一個boolean值,為true則執行迴圈體,為false則跳出,並且只能修飾一條語句;
2、執行順序,先條件,再語句;
3、一個有限次的迴圈,必須有一個使迴圈趨近於結束的條件,
4、死迴圈是好還是壞??看情況(輸入密碼賬號錯誤的時候)
while 練習:
//小於100的數的和
1 var sum = 0; 2 var i = 1; 3 4 while (i <= 100) { 5 sum += i; 6 i++; 7 } 8 9 console.log(i,sum);
//入職薪水10K,每年漲幅5%,50年後工資多少?
1 var salary = 10000; 2 var i = 1; 3 4 while(i<=50){ 5 salary *= 1+0.05; 6 i++; 7 } 8 9 console.log(salary);
//列印100以內7的倍數
1 var i = 1; 2 3 while(i<=100){ 4 if(i%7==0){ 5 console.log(i); 6 } 7 i++; 8 } 9
//列印100以內的奇數
1 var i = 1; 2 3 while(i <= 100){ 4 if(i%2){ //1 == true 5 console.log(i); 6 } 7 i++; 8 }
2、do while
***結構***
do{
迴圈體;
}while(條件表示式);
while和do while的區別和不同
while與do while唯一的區別
執行順序不同
do...while先語句在條件
while 先條件在語句
do...while與while 異同
當首次條件成立時,這倆沒區別
當首次條件不成立時,do...while執行一次迴圈體,while直接跳出
3、for
for(表示式1;表示式2;表示式3){1243243243...
表示式4
}
for(;;){} 絕對不能省略,除此之外表達式1234都能省略
表示式1:為迴圈變數賦初值
表示式2:條件
表示式3:使迴圈趨近於結束的條件
表示式4:迴圈體語句
1 var sum = 0; 2 3 for(var i=1; i <= 100;i++){ 4 sum += i; 5 } 6 7 console.log(i, sum);