JS系列:三元運算符與循環


 三元運算符

語法: 條件?成立做的事情:不成立做的事情;<=>相當於簡單的if/else判斷(簡化寫法)

var num = 12;
if(num>10){
num ++;
} else {
num--;
}
=> 相當於三元運算符:
num > 10? num++ : num--;

特殊情況:

//=>如果三元運算符中某一部分成立不需要任何的處理我們用null/underfined/void 0...占位即可
var num=12;
num>10?num++ : null;
//=>如果需要執行多項任務,我們用小括號包裹起來,每條語句用逗號隔開
num=10;
num>10?(num++,num*=10):null;

思考題:

var num =12;
if(num>0){
if(num<10){
num++;
}else {
num–;
}
}else {
if(num==0){
num++;
num=num/10;
}
}
改成三元運算符:
var num=12;
num > 0 ? (num < 10 ? num ++ : num– ) : (num–, num=num/10);

switch case

js中的一種判斷方式, switch case 應用於變量(表達式)在不同值情況下不同的操作,每一個case結束后都需要加break(結束整個判斷)

var num = 10;
if(num==10){
num ++;
} else if(num==5){
num--;
} else {
num=0;
}
改成 switch case
var num = 10;
switch(num){
case 10:
num++;
break;
case 5:
num--;
break;
default:
num=0;
}
 
> 不加 break,后面的條件不管是否成立,都會被執行;利用此機制,我們可以完成一些特殊的處理,例如:如果num等於10或者5都要做同一件事情,那么我們寫在一起,不用加break即可(去掉case10 里面的break)
  • 思考: n++和n=n+1 一樣嗎?

    1. var n=’10’;
      n = n+1;
      console.log(n) =>101
      //=> 屬於字符串拼接,結果是‘101’
      遇到字符串是字符串拼接,遇到數值是數學運算,如果是n++會是數學運算

    =是賦值,==判斷是否相等,===判斷絕對相等(類型和值都必須相等)

'10'==10 => true 數值相等,類型不同,相等比較,如果等號左右兩邊的類型不一樣首先轉化一樣的數據類型,然后進行比較,當前案例是把字符串'10'轉化為數字,然后再比較。
'10'===10 => false 數值和類型都相等。絕對比較,如果兩邊的數據類型不一樣,則直接不想打呢個,它要求類型和值都完全一樣才會相等(真實項目中為了保證嚴謹性,使用絕對等號)
  • switch case中的每一種case情況的比較都是基於”===”絕對相等來完成的。
    例子:

var num = 5;
switch(num){
case 10:
 
case 5:
num--;
break;
default:
num=0;
}
console.log( num);
VM1668: 12 4

FOR循環

作用:按照一定的規律重復去做某件事情,此時需要循環處理。

var ary = [12,23,34];
ary
=> {
0:12
1:23
3:34
leng th:3
}
//輸出數組中的每一項內容
/* ==itar [TAB]鍵 自動補全循環的代碼
for ( var i=0; i<ary.length; i++){
//=>第一次循環:i= 0;i<3..i=1 =>ary[0]
//=>第二次循環:i= 1;i<3..i=2 =>ary[1]
//=>第三次循環:i= 2;i<3..i=3 =>ary[2]
//=>第四次循環:i= 3;i<3 循環結束(本次沒有循環)
console.log(ary['i']);
}
 
* 倒着輸出:
var ary = [12,23,34];
//=> 倒着輸出每一項。倒着輸出 34 23 12
//=> ary.length;當前數組中最后一項的屬性名(索引)
for ( var i= ary.length - 1; i >= 0;i-- ){
console.log(ary[i])
}
=>
34
23
12
* 輸出奇數項
var ary= [12,23,34];
for ( var i=0; i<ary.length; i+=2){
//=> 輸出數組中的奇數項內容
// i = 0 第一項 奇數項
// i = 1 第二項 偶數項
// i = 2 第三項 奇數項
// 索引為偶數,代表奇數項,如果判斷當前i的值是奇數還是偶數?
// 12%5:%稱為模,用12除以5取余數
 
console.log(ary[i]);
}
 
}
  • FOR循環的語法組成:

    1. 定義初始值 var i = 0

    2. 設置循環條件(條件成立循環繼續,不成立循環結束)i< ary.length

    3. 條件成立會執行循環體中的內容(大括號包裹的就是循環體)

    4. 執行步長累加的操作

      • FOR循環的循環體中,兩個常用關鍵字:

    5. continue:繼續

    6. break:中端或者結束

      for (var i = 0; i<10;i++){
      if(i<5){
      i++;
      continue; //=> 結束本輪循環(循環體中continue的代碼不在執行)繼續下一輪
      }
      if(i>7) {
      i + = 2;
      break;//=>強制結束循環,不能任何的處理
      }
      i += 3;
      }

    思考題:
    for (var i=1; i<=10; i+=2){
    if(i <= 5){
    i++;
    continue;
    }else {
    i -=2;
    break;
    }
    i–;
    console.log(i);
    }
    =>5

 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM