運算符
JavaScript 運算符用於賦值、比較、執行算術運算等。
運算符 | 描述 |
---|---|
算術運算符 | 用於執行兩個變量或值的運算。 |
賦值運算符 | 用於給 JavaScript 變量賦值。 |
比較運算符 | 用於邏輯語句的判斷,從而確定給定的兩個值或變量是否相等。 |
條件運算符 | 用於基於條件的運算。 |
邏輯運算符 | 用來確定變量或值之間的邏輯關係。 |
位運算符 | 工作於32位的數字上。任何數字操作都將轉換爲32位。結果會轉換爲 JavaScript 數字。 |
一、算術運算符
算術運算符用於執行兩個變量或值的運算。
運算符 | 描述 |
---|---|
+ | 加法 |
- | 減法 |
* | 乘法 |
/ | 除法 |
% | 餘數 |
++ | 自增 |
– | 自減 |
++i 和 i++ 的區別
++i
前自加:先執行自加操作,再引用 i 值。
i++
後自加:先引用 i 值,再進行自加操作。
如果自加語句獨立成爲一個單獨的語句,那麼前後自加是完全相同的。
for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
當運算變量本身值會在自加語句中,同時執行其它操作,二者就有區別了。
var i = 10
var a = i++ // 這裏i要先賦值,再自加。語句執行後 a=10, i=11;
var i = 10
var a = ++i // 這裏i要先自加,再賦值。語句執行後 a=11, i=11;
二、賦值運算符
賦值運算符用於給 JavaScript 變量賦值。
運算符 | 示例 |
---|---|
= | x = 1 |
+= | x += 1 等價於 x = x + 1 |
-= | x -= 1 等價於 x = x - 1 |
*= | x *= 2 等價於 x = x * 2 |
/= | x /= 2 等價於 x = x / 2 |
%= | x %= 2 等價於 x = x % 2 |
三、比較運算符
比較運算符用於邏輯語句的判斷,從而確定給定的兩個值或變量是否相等。
運算符 | 描述 |
---|---|
== | 等於 5 == '5' true |
=== | 值及類型均相等(恆等於)5 === '5' false 建議代碼中使用全等號 |
!= | 不等於 |
!== | 值與類型均不等(不恆等於) |
> | 大於 |
< | 小於 |
>= | 大於或等於 |
<= | 小於或等於 |
四、條件運算符
條件運算符(三元運算符)用於基於條件的運算。
語法
variablename = (condition) ? value1 : value2
說明
代碼 | 描述 |
---|---|
condition | 判斷條件。 |
? | condition 爲true 時取? 後面的值(或執行代碼)。 |
: | condition 爲false 時取: 後面的值(或執行代碼)。? : 必須成對出現 |
示例
var txt = status === '0' ? '初始' : '其他'
// 嵌套
var txt = status === '0' ? '初始' : status === '1' ? '提交' : '其他'
五、邏輯運算符
邏輯運算符用來確定變量或值之間的邏輯關係。
1、用於判斷
運算符 | 描述 |
---|---|
|| | 或。只需要滿足一個條件。(x||y||z) (x/y/z只要有一個爲true,整個結果就爲true) |
&& | 且。必須同時滿足所有條件。(x&&y&&z) (x/y/z必須都爲true,整個結果才爲true,否則爲false) |
! | 非。(!x) (x爲true,則結果爲false) |
2、用於條件運算
條件運算符語法簡潔,對於簡單的三元運算來說,使用起來比 if 語句要方便。但是必須 ? :
一起使用,如果只需要做一層判斷,條件運算符就無能爲力了。這個時候,就可以使用 &&
||
:
代碼 | 描述 |
---|---|
var type = param.type || 'POST' |
如果param.type 爲false ,則取'POST' 。 |
typeof success === 'function' && success() |
如果typeof success === 'function' 爲true ,則執行代碼success() 。 |
六 、位運算符
運算符 | 描述 | 例子 | 類似於 | 結果 |
---|---|---|---|---|
& | AND,如果兩位都是1,則設置每位爲1。 | x = 5 & 1 | 0101 & 0001 | 0001,即 1 |
| | OR,如果兩位之一爲1,則設置每位爲1。 | x = 5 | 1 | 0101 | 0001 | 0101,即 5 |
^ | 異或,如果兩位只有一位爲1,則設置每位爲1。 | x = 5 ^ 1 | 0101 ^ 0001 | 0100,即 4 |
~ | 取反,反轉所有位。 | x = ~ 5 | ~0101 | 1010,即 -6 |
<< | 零填充左位移,通過從右推入零向左位移,並使最左邊的位脫落。 | x = 5 << 1 | 0101 << 1 | 1010,即 10 |
>> | 有符號右位移,通過從左推入最左位的拷貝來向右位移,並使最右邊的位脫落。 | x = 5 >> 1 | 0101 >> 1 | 0010,即 2 |
>>> | 零填充右位移,通過從左推入零來向右位移,並使最右邊的位脫落。 | x = 5 >>> 1 | 0101 >> 1 | 0010,即 2 |