JavaScript基礎(三)運算符和數據類型轉換

JavaScript運算符 javascript

1、運算符和操做數的組合就稱爲表達式。
2、javascript運算符
   (一) 算術運算符
        +  -   *  /   %   var++     ++var   var--   --var
        A.  +
          (1)  用於數值的運算
          (2)  用於字符串的鏈接
          ***************************
           任何的數據類型和字符串相加都是等於相加之後的字符串
          *************************           
        B. %
          (1)用於取一段範圍的值       
          (2) 通常不用於小數,由於結果不肯定。        
        C. var++   ++var
          ++在前面,他比較自私,會本身先加,而後再賦值。
          ++在後面,他比較無私,先賦值,而後本身再加。
   (二) 關係運算符(比較運算符)
        <   >    <=   >=  ==   ===   !=  !==
        (1)他運算的結果都是布爾值
        (2)都是字符串的時候,他會先轉換成ASCII碼而後進行比較他們的第一個字母。
        (3)都是數值的時候,他會正常比較
        (4)當一個字符串,另外一個是數值的時候,把字符串嘗試轉換成數值類型,而後進行比較,
           若是不能轉換成數值類型,則會返回NaN,而後返回假
        (5) undefined  null
        (6)若是兩個都是數值型字符串,那麼他們也是隻比較第一個
        (7)若是一個數值和布爾值進行比較,會把布爾值轉換爲數值再進行比較,true爲1,false爲0
          A.  ==  只比較值是否相等
          (1)  比較字符串的時候是比較他們的ASCII碼是否相等
          (2)  比較兩個數值的時候是比較他們的數值是否相等
          (3)  比較函數的時候,判斷他們的位置是否相等。        
          B.  ===  不但比較值是否相等,還比較類型是否相等。
   (三) 賦值運算符
        =   +=   -=   *=  /=   %=
       A. +=
           var a=1;
            a+=3; a=a+3
          (1)  用於數值的相加再賦值
          (2)  用於字符串的鏈接再賦值
          ***************************
           任何的數據類型和字符串相加都是等於相加之後的字符串
          *************************
   (四) 邏輯運算符(布爾運算符)
        與 and &&      或 or ||       非not !
       A. &&
          if(a && b){
       alert("兩個都是真的");
      }else{
       alert("至少有一個是假的")
      }
         運算符兩邊只要有一個是假,那麼他的運算結果就是假,只有兩個都爲真的時候,運算結果
         纔是真的。
       B.||
        if(a || b){
       alert("至少有一個是真的");
    }else{
       alert("兩個都是假的")
    }
          運算符兩邊只要有一個是真的那麼他就是真的,只有當兩個都是假的時候,他纔是假的。
       C.not !
          取反,假的變成真的,真的變成假的。
       (1)邏輯運算符能夠對任何類型的數據進行運算可是在運算的時候,能夠轉換爲對應的布爾值
          Undefined     false
          Null          false
          Boolean      就是自己的值
          Number       除了0之外都是真的
          String       除了空字符串意外都是真的
          對象         真的
       (2)類變量進行賦值
          var a= b && c
            若是一個運算數是對象,另外一個是 Boolean 值,返回該對象。
            若是兩個運算數都是對象,返回第二個對象。
            若是某個運算數是 null,返回 null。
            若是某個運算數是 NaN,返回 NaN。
            若是某個運算數是 undefined,發生錯誤。
          var a=b ||c
             若是一個運算數是對象,而且該對象左邊的運算數值均爲 false,則返回該對象。
             若是兩個運算數都是對象,返回第一個對象。
             若是最後一個運算數是 null,而且其餘運算數值均爲 false,則返回 null。
             若是最後一個運算數是 NaN,而且其餘運算數值均爲 false,則返回 NaN。
             若是某個運算數是 undefined,發生錯誤。         
   (五) 一元運算符
        typeof  +  -  delete  new   ++   --     
        A. +
          正號、正數     
         B.delete
          刪除對象的方法或是屬性     
         C.new
          用來建立一個對象      
   (六) 特殊的運算符
     ,   ()      = ? :
    A. ,
     用來一次聲明多個變量  
    B.()
      (1) 運算的時候有優先級的做用
          a*(b-c)
      (2) 運行一段函數  
    C.根據表達式的計算結果有條件的爲變量賦值
      格式: var  變量=  Boolean expression?真值:假值

   (七) 位運算符 java

JavaScript數據類型轉換 express

javascript數據類型強制轉換

1、轉換爲數值類型
    Number(參數) 把任何的類型轉換爲數值類型

    A.若是是布爾值,false爲0,true爲1
    B.若是是數字,轉換成爲自己。將無心義的後導0去掉。
    C.若是Null轉換爲0
    D.若是是undefined 轉換爲NaN  not a number
    E.若是對象則會先調用對象的 valueOf(),若是valueOf()返回的是NaN,而後再調用對象的                   toString()
    F.若是是字符串
       1.若是字符串當中只有數字,轉換爲10進制(忽略前導0和後導0)
       2.若是是有效的規範的浮點型,轉換爲浮點值(忽略前導0和後導0)
       3.若是是空字符串,則轉換爲0
       4.若是是其餘的值,返回NaN 
    parseInt(參數1,參數2)  將字符串轉換爲整數
      A.若是一個字符串只包含數字,則以10進制的方式轉換爲整型。
      B.他會自動忽略字符串前面的空格,知道找到第一個非空的數值字符串,直到解析到第一個
        非數值的字符串結束。
      C.若是字符串的第一個字符不是空格、數字、-,那麼返回NaN
      D.參數1
        八進制                 十進制           十六進制
        0後面的數字不能超過7位                0x   0-9   a-f
         參數2,控制解析模式 
    parseFloat() 將字符串轉換爲浮點數
     A.字符串當中的.只有第一個有效,其餘的都是無效的。
     B.若是字符串是一個有效的整數,他返回的是整數,不會返回浮點數。            
2、轉換爲字符串類型  
   1. String(參數)
      能夠將任何的類型轉換爲字符串
      null和undefined:  也都會轉換爲字符串,分別是 null和undefined
      布爾類型:會返回true 和false
      數值類型:自己的字符串
    2.toString()
       調用的格式  對象.toString()
       做用是將對象以字符串的方式來表示
        array.toString()     由,分割的字符串
        Boolean.toString()   兩個值  true false
        String.toString()    返回自己
        Number.toString(參數)    返回自己的字符串形式
        控制輸出模式     
       注意:null和undefined沒有toString()方法
3、轉換爲布爾類型
    Boolean()  能夠將任何類型的值轉換爲布爾值
      轉換爲假:  ""、 0、 NaN 、undefined、 false
     其餘的所有都轉換爲真。 函數

javascript數據類型隱式轉換
1、函數類
    isNaN()
    該函數會對參數進行隱式的Number()轉換,若是轉換不成功則返回true;
    alert()
    輸出的內容隱式的轉換爲字符串
2、運算符類
   1.算數運算符
   -  *   /  %
   若是操做數不是數值,將會隱式的調用Number()函數,按照這個函數的轉換規則進行轉換,
   若是轉換不成功,整個表達式返回NaN
   +
   若是操做數都是數值,而後進行相加
   任何數據類型和字符串相加,都會隱私的調用他們的toString()方法,而後返回他們拼接的結果。
   若是操做數都是布爾值,那麼進行Number()轉換,false爲0,true爲1,進行相加。
   2.關係運算符
    關係運算符的操做數能夠是任何類型,若是操做數不是數值類型,將會隱式的轉換
     (1)他運算的結果都是布爾值
        (2)都是字符串的時候,他會先隱式轉換成ASCII碼而後進行比較他們的第一個字母。
        (3)都是數值的時候,他會正常比較
        (4)當一個字符串,另外一個是數值的時候,把字符串嘗試轉換成Number()數值類型,而後進行          比較,若是不能轉換成數值類型,則會返回NaN,而後返回假
        (5) undefined == null
        (6)若是兩個都是數值型字符串,那麼他們隱式轉換成ASCII碼,也是隻比較第一個
        (7)若是一個數值和布爾值進行比較,會把布爾值隱式轉換爲數值再進行比較,true爲1,            false爲  0
    3.等性運算符 ==  !=
      會對操做數隱式的轉換後再比較值
       (1)若是其中至少有一個是布爾值,那麼會隱式的調用Number()進行轉換,而後比較。
       (2)若是一個爲字符串。另外一個爲數值,那麼會隱式的調用Number()對字符串進行轉換,
          若是轉換不成功,則返回false;
       (3) undefined == null
          (a)  比較字符串的時候是比較他們的ASCII碼是否相等
          (b)  比較兩個數值的時候是比較他們的數值是否相等
          (c)  比較函數的時候,判斷他們的位置是否相等。     
     4.邏輯運算符
       A. 放在表達式裏面用於判斷。
       B. 給變量賦值
         var a= b && c
            若是一個運算數是對象,另外一個是隱式的調用Boolean()函數,返回該對象。
            若是兩個運算數都是對象,返回第二個對象。
            若是某個運算數是 null,返回 null。
            若是某個運算數是 NaN,返回 NaN。
            若是某個運算數是 undefined,發生錯誤。       
          var a=b ||c
             若是一個運算數是對象,而且該對象左邊的運算數隱式的調用Boolean()函數 值爲               false,則返回該對象。
             若是兩個運算數都是對象,返回第一個對象。
             若是最後一個運算數是 null,而且其餘運算數值均爲 false,則返回 null。
             若是最後一個運算數是 NaN,而且其餘運算數值均爲 false,則返回 NaN。
             若是某個運算數是 undefined,發生錯誤。
3、語句類
   if(表達式){
    }else{
    }   
   格式: var  變量=  Boolean expression?真值:假值
    while(){
    }
    if語句和三元表達式裏面的表達式會隱式的調用Boolean()函數,按照這個函數的轉換規則,轉換      爲相應的布爾 值  
    
 

 
 
spa

  
相關文章
相關標籤/搜索