JavaScript 六大類運算符(詳細~)


運算符


 
1、算術運算符:+、-、*、/、%、++、--
 
    單目(操作數為一個且為變量): i++、i--、++i、--i;
    雙目:+、-、*、/、%;
 
雙目其中 -*/%
    如果運算符兩側的值為數字型,可進行正常的數值運算; console.log(3-1);//2
    如果存在純數字字符串(如:"12"),計算機自動轉其為數字型進行運算; console.log("3"-1);//2
    只要有一側為非純數字字符串,結果為NaN。 co nsole.log("3a"-1);//NaN
        NaN:非數字類型。
                    特點:① 涉及到的 任何關於NaN的操作,都會返回NaN   ② NaN不等於自身。
雙目 +
    如果運算符兩側的值為數字型,可進行正常的數值運算; console.log(3+1);//4
    只要有一側為字符串,表達連接。 console.log("3a"+1);//3a1
        (1)“%”取余運算符,兩個數相除,取余數。
   A = 10 % 3;  // A = 1,如果余數不為0,則兩個不能整除
   A = 10 % 2;  // A = 0,如果余數為0,則兩個數能除盡
       (2)“++”加1運算符、自增1
              “++”可以作前綴(++i),也可以作后綴(i++)。
  (3)“--”減1運算符,自減1
              “--”可以作前綴(--i),也可以作后綴(i--)。
    i++和++i的區別:
          相同點:都讓變量自增1;
         不同: i++    先將i的值賦給整個表達式,i再自增1;
           ++i    先i自增1,再將i的值賦給整個表達式
例如:var i = 2;
        var j = i++;
        console.log(i);   //3
        console.log(j);   //2
        var i = 2;
        var j = ++i;
        console.log(i);//3
        console.log(j);//3
2、賦值運算符:+=、-=、*=、/=、%=
        “+=”先加后等。如:a += 10  //等同於  a = a + 10
       “-=”先減后等。如:a -= 10   //等同於  a = a - 10
       “*=”先乘后等。如:a *= 10  //等同於  a = a * 10
       “/=”先除后等。如:a /= 10   //等同於  a = a / 10
        var i = 1;
            i += 2;
      console.log(i);//3
        var i = -2;
            i -=2;
      console.log(i);//-4
3、字符串運算符:+、+=
字符串只能進行“連接”運算,不能進行其它運算。
        var a = “abc”;
       var b = a + “bcd”;   // 結果b = a + “bcd” = “abc” + “bcd” = “abcbcd”
       var a = “abc”;
       a += 10;   // 結果a = a + 10 = “abc” + 10 = “abc10”
4、關系(比較)運算符:>、<、>=、<=、==、!=(不等於)、===(全等)、!==(全不等)
       比較運算符的運算結果是布爾值(true或false)。
       A = 10 > 20;       // 結果A=false
       A = 20>=20;       // 結果A=true
       A = 10%2 == 0;    // 結果A=true
       A = 10%2 == “0”;  // 結果A=true
       A = 10%3 != 0;    // 結果A=true
       A = 10%2 === “0”;  //結果A=false
            console.log(i = 10 >=9);
       “=”是賦值號。如:a = 10
       “==”等於。只比較兩個變量的值,而不管類型。只要值一樣,就返回true,否則返回false。
       “===”全等於。既比較變量,也判斷類型。如果類型和值都一樣,返回true,否則返回false。
                 console.log(a=10 >= 9);//ture
                 console.log(null == undefined);//ture
                 console.log(null === undefined);//false
                  console.log(null == 0);//false
字符串的比較:比較的是ASCII碼值(a:97    b:98    c:99 ...    A:65    B:66    C:67 ...)/從左到右比較,直到比較出結果;
                 console.log("a" > "b");//false
5、邏輯運算符:&&(且)、||(或)、!(非)
       邏輯運算符的運算結果有兩個true或false。
        “&&”邏輯與(並且關系)。如果左右兩個兩個條件同時滿足時,則結果為true,否則,結果為false。
  “||”邏輯或。左右兩個條件,只要有一個滿足,則返回true,否則,返回false。
  “!”取反運算。!true = false  、   !false = true  、 !100 = false
為假的值:0    null    undefined    ""    false
計算機自身短路情況:
第一個條件 && 第二個條件       如果第一個條件為假則計算機出現短路現象 不會繼續判斷第二個條件
第一個條件 || 第二個條件       如果第一個條件為真則計算機出現短路現象 不會繼續判斷第二個條件
例如:
    console.log(6>7 && 5);//false
    console.log(5 && 6<7);//ture
    console.log(6<7 && 5);//5
    console.log(0 && 6>5);//0
 
6、三目(元)運算符:? : 
所謂“三目運算符”就是指三個操作數。
       語法:條件表達式 ? 結果1 : 結果2
       含義:如果條件為true,則執行“結果1”的代碼;如果條件為false,則執行“結果2”的代碼。
       其實:三目運算符,就是if else的變形形式。
 


免責聲明!

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



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