JS基本入門篇(七)—運算符

1.算術運算符

1.算術運算符

  • 算術運算符:+*/%(取余)++
  • 重點:++前置和後置的區分。

1.1 前置 ++ 和 後置 ++

前置++:先自增值,再運用值
後置++:先運用值,再自增值

<script>
    console.log("-------- 後置++ ----------");
    var a=0;
    console.log(a++);//0,後置是先用值,在自增值。
    console.log(a);//1 自增后的值
    console.log("-------- 前置++ ----------");
    var b=2;
    console.log(++b);//3 前置是先自增,後用值。
    console.log(b);//3
    console.log("-------- 後置++ ----------");
    var d = 2;
    var e = d++;// 後置是先用值,在自增值。
    console.log( d,e );//3 2 
    console.log( "--------- 前置++ -------------" );
    var f = 20;
    var g = ++f;// 前置是先自增,後用值。
    console.log( f,g );//21 21;
</script>

2.賦值運算符

2.賦值運算符

  • 賦值運算符:+=—=*,=/=%=
  • 盤算完值后,並賦值給本身。

3.關聯運算符

3.關聯運算符

  • <= , >= , == , != , === , !==
  • 注重:返回的值都是布爾值。

3.1 ===== 的區分

  • == 舉行比較的時刻,會比較 二者的內容,不舉行數據類型的比較
  • === 不僅推斷內容 ,還會推斷 數據類型。
<script>
    console.log(1=="1");//true 只比較內容,內容相稱故為真。
    console.log(1==="1");//false 不僅比較內容,還比較數據類型。數據類型不為真,故假。
    console.log( 1 != "1" );//false
    console.log( 1 !== "1" );//true
</script>

3.2須要影象的內容

<script>
    console.log( null == undefined );//true
    console.log( null == 0 );//false
    console.log( undefined == 0 );//false
</script>

4.邏輯運算符

  • && (而且)
    假如左側為真,返回右側的值。
    假如左側為假,返回左側的值。
  • || (或許)
    假如左側為真,返回左側的值。
    假如左側為假,返回右側的值
  • ! (否)
    背面的數轉成布爾值然後取反
<script>
    console.log( 1 && 2 );//2
    console.log( 0 && 2 );//0
    console.log( 0 && "a" );//0
    
    function fn(){
        console.log("fn實行了");
    }

    
    false && fn();//不實行fn();
    true && fn();//實行fn();
    undefined && fn();//不實行fn();

    console.log( 0 || 1 );//1
    console.log( 2 || 1 );//2
    
    var res = "a" || "b";
    console.log( res );//"a"

    console.log( !"false" );//"false"
</script>

5.三目運算符

三目運算符: 推斷前提 ? 語句 1 : 語句 2

    推斷前提 建立 實行語句 1 
    不建立 實行語句 2
            

6.數組的存儲

數組賦值的時刻,通報的是數組的地點。

<script>
    var a = 1;
    var b = a; // 傳值,把a的值給b
    a = 2;
    console.log( b );//獲得的值是1.
//------------------------------------------
    var arr = ["a","b"];
    var res = arr;  // 傳址,賦址
    arr[0] = 1;
    console.log( arr );//依據地點找數組,獲得的是["1","b"]
    console.log( res );//依據地點找數組,獲得的是["1","b"]
//------------------------------------------
    var arr1 = ["a","b"];
    var res1 = ["a","b"]; 
    arr1[0] = 1;
    //arr1數組的地點和res1數組的地點不雷同,雖然內容雷同。
    console.log( arr1 );//依據地點找數組,獲得的是["1","b"]
    console.log( res1 );//依據地點找數組,獲得的是[a","b"]
</script>
    原文作者:梁志芳
    原文地址: https://segmentfault.com/a/1190000014891017
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞