JavaScript 學習筆記之操作符(續),javascript學習筆記

來源:互聯網
上載者:User

JavaScript 學習筆記之操作符(續),javascript學習筆記

一、乘性操作符

1、乘法:*

     乘法操作符的一些特殊規則:

如果運算元都是數值,按照常規的乘法計算,如果乘積超過了ECMAscript數值的表示範圍,則返回infinity或者-infinity
如果有一個運算元是NaN,那返回結果就是NaN
如果是infinity與0相乘,返回NaN
如果infinity與非0數相乘,返回infinity或者-infinity
infinity與infinity相乘,返回infinity
如果有一個運算元不是數值,後台會先調用number()將其轉化為數值,再應用上面的規則

複製代碼 代碼如下:
<script type="text/javascript">
  
       alert(5 * 6);           //30
       alert(5 * NaN);         //NaN
       alert(Infinity * 0);    //NaN
       alert(Infinity * 2);    //Infinity
       alert("5" * 5);         //25
       alert(true * 10);       //10
       alert(false * 10);      //0
     
   </script>

2、除法:/

   除法操作符的一些特殊規則:

如果運算元都是數值,按照常規的除法計算,如果商超過了ECMAscript數值的表示範圍,則返回infinity或者-infinity
如果有一個運算元是NaN,那返回結果就是NaN
如果是infinity被infinity除,返回NaN
如果是0被0除,返回NaN
如果是非0的有限數被0除,返回infinity或者-infinity
如果是infinity被非0的有限數除,返回infinity或者-infinity
如果有一個運算元不是數值,後台會先調用number()將其轉化為數值,再應用上面的規則

複製代碼 代碼如下:
  <script type="text/javascript">
         alert(5 / 5);           //1
         alert(5 / NaN);         //NaN
         alert(Infinity / Infinity);    //NaN
         alert(Infinity / 2);    //Infinity
         alert(5 / 0);           //Infinity
         alert(10 / true);       //10
         alert(10 / false);      //Infinity
     </script>

3、求模(餘數):%

   求模操作符的一些特殊規則:

如果運算元都是數值,按照常規的除法計算,返回除得的餘數
如果被除數是無窮大,除數是有限數,那返回結果就是NaN
如果被除數是有限大,除數是0,返回NaN
如果是infinity被infinity除,返回NaN
如果被除數是有限大而除數是無窮大,返回被除數
如果被除數是0,返回0
如果有一個運算元不是數值,後台會先調用number()將其轉化為數值,再應用上面的規則

複製代碼 代碼如下:
<script type="text/javascript">
  
       alert(26 % 5);          //1
       alert(Infinity % 3);    //NaN
       alert(3 % 0);           //NaN
       alert(5 % Infinity);    //5
       alert(0 % 10);          //0
       alert(true % 25);       //1
       alert(3 % false);       //NaN
     
   </script>

二、加性操作符

1、加法操作符:+

如果運算元中有一個是字串:

如果兩個運算元都是字串,那麼將第二個運算元拼接到第一個運算元後面。
如果只有一個運算元是字串,那麼將另一個運算元轉化為字串後再執行上述規則

複製代碼 代碼如下:
<script type="text/javascript">
        var result1 = 5 + 5;     //數字加數字
        alert(result1);           //10
        var result2 = 5 + "5";   //數字加字串
        alert(result2);           //"55"
    </script>

2、減法操作符:-

如果有一個運算元是字串、布爾值、null或者undefined,則在後台先調用number()將其轉化為數值,然後執行減法。

三、關係操作符

大於:>

小於:<

大於等於:>=

小於等於:<=

關係操作符特殊規則:

如果運算元是字串,對比兩個字串相應的字元編碼

如果運算元一個是數值,則先將另一個運算元轉化為數值,再進行比較

任何數與NaN進行比較,結果都是false

四、相等操作符

1、相等和不相等:==和!=

這兩個操作符都會先將運算元轉換為同一類型再進行比較

轉換時,相等和不相等操作符遵循如下規則:

 如果其中一個運算元的類型為 Boolean ,那麼,首先將它轉換為數字類型,false 轉換為 0, true 將轉換為 1。
如果其中一個運算元的類型是字串,另外一個為數字類型,那麼,將字串轉換為數字進行比較。
如果其中一個運算元是對象,另一個不是,則先叫用作業數的valueof()方法,得到基本類型值之後再比較
比較時的特殊規則:

null 和 undefined 是相等的。
 null 和 undefined 不會轉換為任何其他類型
如果任何一個操作的結果為 NaN,那麼相等比較返回 false,不相等比較返回 true。注意,即使兩個運算元都為 NaN,返回結果一樣是 false,也就是說,NaN 不等於 NaN。
如果兩個運算元都是對象,那麼比較它們引用的值,如果引用同一個對象,那麼,返回真,否則,返回假。
2、全等和不全等:==和===

==會將運算元轉換成同一類型比較;

===不會轉換類型,直接比較

例如:

複製代碼 代碼如下:
var result1 = ("55" == 55);   
var result2 = ("55" === 55);
alert(result1);//true
alert(result2); //false"55"是字串,55是數字,類型不一樣

五、條件操作符

變數=條件運算式?真值:假值

首先會對條件運算式求值,如果結果是真,則把真值賦給變數,如果為假則把假值賦給變數。

複製代碼 代碼如下:
 <script type="text/javascript">
         var num1 = 10;
         var num2 = 25;
         var num3 = (num2 > num1) ? num2 : num1;
         alert(num3);   //25
     </script>

六、賦值操作符

1、簡單賦值操作符:=

var num1 = 10;
num=num1+10;
2、複合賦值操作符:+=、-=、*=、/=、%=、>>=、<<=、>>>=

複製代碼 代碼如下:
  <script type="text/javascript">
         var num = 5;
         alert(num);     //5
         num += 5;
         alert(num);     //10
         num *= 2;
         alert(num);     //20
         num /= 10;
         alert(num);     //2
         num -= 2;  
         alert(num);     //0
     </script>

七、逗號操作符

逗號操作符可以在一條語句中執行多個操作

用途:1、聲明多個變數

var num1=1,num2=2,num3=3;
2、賦值

var num=(0,1,2,3)//num=3
在用於賦值操作時,逗號操作符總是返回最後一個運算式的值。

練習區:

複製代碼 代碼如下:
  <script type="text/javascript">
         var num1 = 5;
         var num2 = 10;
         var message = "The sum of 5 and 10 is " + num1 + num2;
         alert(message); 
    </script>

複製代碼 代碼如下:
<script type="text/javascript">
        alert(null == undefined);   
        alert(null === undefined);  
        alert("NaN" == NaN);      
        alert("NaN" === NaN);     
        alert(NaN == NaN);        
        alert(NaN === NaN);       
        alert(NaN != NaN);       
        alert(NaN !== NaN);        
        alert(false == 0);      
        alert(false === 0);      
        alert(true == 1);       
        alert(true === 1);    
        alert(null == 0);        
        alert(undefined == 0);   
        alert(5 == "5");         
        alert(5 === "5");                  
    </script>

以上就是本文的全部內容了,對於javascript的操作符的講解也就到此結束了,下篇文章我們來講解javascript語句。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.