javascript運(yùn)算符可分為:1、算術(shù)運(yùn)算符,用來執(zhí)行常見的數(shù)學(xué)運(yùn)算;2、賦值運(yùn)算符,用來為變量賦值;3、字符串運(yùn)算符;4、自增、自減運(yùn)算符;5、比較運(yùn)算符;6、邏輯運(yùn)算符;7、三元運(yùn)算符;8、位運(yùn)算符。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
算術(shù)運(yùn)算符
算數(shù)運(yùn)算符用來執(zhí)行常見的數(shù)學(xué)運(yùn)算,例如加法、減法、乘法、除法等,下表中列舉了 JavaScript 中支持的算術(shù)運(yùn)算符:
運(yùn)算符 | 描述 | 示例 |
---|---|---|
+ | 加法運(yùn)算符 | x + y 表示計(jì)算 x 加 y 的和 |
– | 減法運(yùn)算符 | x – y 表示計(jì)算 x 減 y 的差 |
* | 乘法運(yùn)算符 | x * y 表示計(jì)算 x 乘 y 的積 |
/ | 除法運(yùn)算符 | x / y 表示計(jì)算 x 除以 y 的商 |
% | 取模(取余)運(yùn)算符 | x % y 表示計(jì)算 x 除以 y 的余數(shù) |
示例代碼如下:
var x = 10, y = 4; console.log("x + y =", x + y); // 輸出:x + y = 14 console.log("x - y =", x - y); // 輸出:x - y = 6 console.log("x * y =", x * y); // 輸出:x * y = 40 console.log("x / y =", x / y); // 輸出:x / y = 2.5 console.log("x % y =", x % y); // 輸出:x % y = 2
上述代碼中,雙引號中的內(nèi)容是一個(gè)字符串,所以其中的運(yùn)算符會原樣輸出,并不參與運(yùn)算。
賦值運(yùn)算符
賦值運(yùn)算符用來為變量賦值,下表中列舉了 JavaScript 中支持的賦值運(yùn)算符:
運(yùn)算符 | 描述 | 示例 |
---|---|---|
= | 最簡單的賦值運(yùn)算符,將運(yùn)算符右側(cè)的值賦值給運(yùn)算符左側(cè)的變量 | x = 10 表示將變量 x 賦值為 10 |
+= | 先進(jìn)行加法運(yùn)算,再將結(jié)果賦值給運(yùn)算符左側(cè)的變量 | x += y 等同于 x = x + y |
-= | 先進(jìn)行減法運(yùn)算,再將結(jié)果賦值給運(yùn)算符左側(cè)的變量 | x -= y 等同于 x = x – y |
*= | 先進(jìn)行乘法運(yùn)算,再將結(jié)果賦值給運(yùn)算符左側(cè)的變量 | x *= y 等同于 x = x * y |
/= | 先進(jìn)行除法運(yùn)算,再將結(jié)果賦值給運(yùn)算符左側(cè)的變量 | x /= y 等同于 x = x / y |
%= | 先進(jìn)行取模運(yùn)算,再將結(jié)果賦值給運(yùn)算符左側(cè)的變量 | x %= y 等同于 x = x % y |
示例代碼如下:
var x = 10; x += 20; console.log(x); // 輸出:30 var x = 12, y = 7; x -= y; console.log(x); // 輸出:5 x = 5; x *= 25; console.log(x); // 輸出:125 x = 50; x /= 10; console.log(x); // 輸出:5 x = 100; x %= 15; console.log(x); // 輸出:10
字符串運(yùn)算符
JavaScript 中的 +
和 +=
運(yùn)算符除了可以進(jìn)行數(shù)學(xué)運(yùn)算外,還可以用來拼接字符串,其中:
+
運(yùn)算符表示將運(yùn)算符左右兩側(cè)的字符串拼接到一起;+=
運(yùn)算符表示先將字符串進(jìn)行拼接,然后再將結(jié)果賦值給運(yùn)算符左側(cè)的變量。
示例代碼如下:
var x = "Hello "; var y = "World!"; var z = x + y; console.log(z); // 輸出:Hello World! x += y; console.log(x); // 輸出:Hello World!
自增、自減運(yùn)算符
自增、自減運(yùn)算符用來對變量的值進(jìn)行自增(+1)、自減(-1)操作,下表中列舉了 JavaScript 中支持的自增、自減運(yùn)算符:
運(yùn)算符 | 名稱 | 影響 |
---|---|---|
++x | 自增運(yùn)算符 | 將 x 加 1,然后返回 x 的值 |
x++ | 自增運(yùn)算符 | 返回 x 的值,然后再將 x 加 1 |
–x | 自減運(yùn)算符 | 將 x 減 1,然后返回 x 的值 |
x– | 自減運(yùn)算符 | 返回 x 的值,然后將 x 減 1 |
示例代碼如下:
var x; x = 10; console.log(++x); // 輸出:11 console.log(x); // 輸出:11 x = 10; console.log(x++); // 輸出:10 console.log(x); // 輸出:11 x = 10; console.log(--x); // 輸出:9 console.log(x); // 輸出:9 x = 10; console.log(x--); // 輸出:10 console.log(x); // 輸出:9
比較運(yùn)算符
比較運(yùn)算符用來比較運(yùn)算符左右兩側(cè)的表達(dá)式,比較運(yùn)算符的運(yùn)算結(jié)果是一個(gè)布爾值,結(jié)果只有兩種,不是 true 就是 false。下表中列舉了 JavaScript 中支持的比較運(yùn)算符:
運(yùn)算符 | 名稱 | 示例 |
---|---|---|
== | 等于 | x == y 表示如果 x 等于 y,則為真 |
=== | 全等 | x === y 表示如果 x 等于 y,并且 x 和 y 的類型也相同,則為真 |
!= | 不相等 | x != y 表示如果 x 不等于 y,則為真 |
!== | 不全等 | x !== y 表示如果 x 不等于 y,或者 x 和 y 的類型不同,則為真 |
< | 小于 | x < y 表示如果 x 小于 y,則為真 |
> | 大于 | x > y 表示如果 x 大于 y,則為真 |
>= | 大于或等于 | x >= y 表示如果 x 大于或等于 y,則為真 |
<= | 小于或等于 | x <= y 表示如果 x 小于或等于 y,則為真 |
示例代碼如下:
var x = 25; var y = 35; var z = "25"; console.log(x == z); // 輸出: true console.log(x === z); // 輸出: false console.log(x != y); // 輸出: true console.log(x !== z); // 輸出: true console.log(x < y); // 輸出: true console.log(x > y); // 輸出: false console.log(x <= y); // 輸出: true console.log(x >= y); // 輸出: false
邏輯運(yùn)算符
邏輯運(yùn)算符通常用來組合多個(gè)表達(dá)式,邏輯運(yùn)算符的運(yùn)算結(jié)果是一個(gè)布爾值,只能有兩種結(jié)果,不是 true 就是 false。下表中列舉了 JavaScript 中支持的邏輯運(yùn)算符:
運(yùn)算符 | 名稱 | 示例 |
---|---|---|
&& | 邏輯與 | x && y 表示如果 x 和 y 都為真,則為真 |
|| | 邏輯或 | x || y 表示如果 x 或 y 有一個(gè)為真,則為真 |
! | 邏輯非 | !x 表示如果 x 不為真,則為真 |
示例代碼如下:
var year = 2021; // 閏年可以被 400 整除,也可以被 4 整除,但不能被 100 整除 if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){ console.log(year + " 年是閏年。"); } else{ console.log(year + " 年是平年。"); }
三元運(yùn)算符
三元運(yùn)算符(也被稱為條件運(yùn)算符),由一個(gè)問號和一個(gè)冒號組成,語法格式如下:
條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2 ;
如果“條件表達(dá)式”的結(jié)果為真(true),則執(zhí)行“表達(dá)式1”中的代碼,否則就執(zhí)行“表達(dá)式2”中的代碼。
示例代碼如下:
var x = 11, y = 20; x > y ? console.log("x 大于 y") : console.log("x 小于 y"); // 輸出:x 小于 y
位運(yùn)算符
位運(yùn)算符用來對二進(jìn)制位進(jìn)行操作,JavaScript 中支持的位運(yùn)算符如下表所示:
運(yùn)算符 | 描述 | 示例 |
---|---|---|
& | 按位與:如果對應(yīng)的二進(jìn)制位都為 1,則該二進(jìn)制位為 1 | 5 & 1 等同于 0101 & 0001 結(jié)果為 0001,十進(jìn)制結(jié)果為 1 |
| | 按位或:如果對應(yīng)的二進(jìn)制位有一個(gè)為 1,則該二進(jìn)制位為 1 | 5 | 1 等同于 0101 | 0001 結(jié)果為 0101,十進(jìn)制結(jié)果為 5 |
^ | 按位異或:如果對應(yīng)的二進(jìn)制位只有一個(gè)為 1,則該二進(jìn)制位為 1 | 5 ^ 1 等同于 0101 ^ 0001 結(jié)果為 0100,十進(jìn)制結(jié)果為 4 |
~ | 按位非:反轉(zhuǎn)所有二進(jìn)制位,即 1 轉(zhuǎn)換為 0,0 轉(zhuǎn)換為 1 | ~5 等同于 ~0101 結(jié)果為 1010,十進(jìn)制結(jié)果為 -6 |
<< | 按位左移:將所有二進(jìn)制位統(tǒng)一向左移動指定的位數(shù),并在最右側(cè)補(bǔ) 0 | 5 << 1 等同于 0101 << 1 結(jié)果為 1010,十進(jìn)制結(jié)果為 10 |
>> | 按位右移(有符號右移):將所有二進(jìn)制位統(tǒng)一向右移動指定的位數(shù),并拷貝最左側(cè)的位來填充左側(cè) | 5 >> 1 等同于 0101 >> 1 結(jié)果為 0010,十進(jìn)制結(jié)果為 2 |
>>> | 按位右移零(無符號右移):將所有二進(jìn)制位統(tǒng)一向右移動指定的位數(shù),并在最左側(cè)補(bǔ) 0 | 5 >>> 1 等同于 0101 >>> 1 結(jié)果為 0010,十進(jìn)制結(jié)果為 2 |
示例代碼如下:
var a = 5 & 1, b = 5 | 1, c = 5 ^ 1, d = ~ 5, e = 5 << 1, f = 5 >> 1, g = 5 >>> 1; console.log(a); // 輸出:1 console.log(b); // 輸出:5 console.log(c); // 輸出:4 console.log(d); // 輸出:-6 console.log(e); // 輸出:10 console.log(f); // 輸出:2 console.log(g); // 輸出:2
【推薦學(xué)習(xí):javascript高級教程】