一、乘性操作符
1、乘法:*
乘法操作符的一些特殊規則:
如果操作數都是數值,按照常規的乘法計算,如果乘積超過了ECMAscript數值的表示范圍,則返回infinity或者-infinity
如果有一個操作數是NaN,那返回結果就是NaN
如果是infinity與0相乘,返回NaN
如果infinity與非0數相乘,返回infinity或者-infinity
infinity與infinity相乘,返回infinity
如果有一個操作數不是數值,后臺會先調用number()將其轉化為數值,再應用上面的規則
2、除法:/
除法操作符的一些特殊規則:
如果操作數都是數值,按照常規的除法計算,如果商超過了ECMAscript數值的表示范圍,則返回infinity或者-infinity
如果有一個操作數是NaN,那返回結果就是NaN
如果是infinity被infinity除,返回NaN
如果是0被0除,返回NaN
如果是非0的有限數被0除,返回infinity或者-infinity
如果是infinity被非0的有限數除,返回infinity或者-infinity
如果有一個操作數不是數值,后臺會先調用number()將其轉化為數值,再應用上面的規則
3、求模(余數):%
求模操作符的一些特殊規則:
如果操作數都是數值,按照常規的除法計算,返回除得的余數
如果被除數是無窮大,除數是有限數,那返回結果就是NaN
如果被除數是有限大,除數是0,返回NaN
如果是infinity被infinity除,返回NaN
如果被除數是有限大而除數是無窮大,返回被除數
如果被除數是0,返回0
如果有一個操作數不是數值,后臺會先調用number()將其轉化為數值,再應用上面的規則
二、加性操作符
1、加法操作符:+
如果操作數中有一個是字符串:
如果兩個操作數都是字符串,那么將第二個操作數拼接到第一個操作數后面。
如果只有一個操作數是字符串,那么將另一個操作數轉化為字符串后再執行上述規則
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、全等和不全等:==和===
==會將操作數轉換成同一類型比較;
===不會轉換類型,直接比較
例如:
五、條件操作符
變量=條件表達式?真值:假值
首先會對條件表達式求值,如果結果是真,則把真值賦給變量,如果為假則把假值賦給變量。
六、賦值操作符
1、簡單賦值操作符:=
var num1 = 10;
num=num1+10;
2、復合賦值操作符:+=、-=、*=、/=、%=、>>=、<<=、>>>=
七、逗號操作符
逗號操作符可以在一條語句中執行多個操作
用途:1、聲明多個變量
var num1=1,num2=2,num3=3;
2、賦值
var num=(0,1,2,3)//num=3
在用于賦值操作時,逗號操作符總是返回最后一個表達式的值。
練習區:
以上就是本文的全部內容了,對于javascript的操作符的講解也就到此結束了,下篇文章我們來講解javascript語句。
新聞熱點
疑難解答
圖片精選