一、乘性操作符
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語句。