JavaScript中的運(yùn)算符詳細(xì)介紹
JavaScript中的運(yùn)算符詳細(xì)介紹
JavaScript中的運(yùn)算符是用來執(zhí)行各種操作的符號(hào),它們可以用于數(shù)學(xué)計(jì)算、比較值或連接字符串。在本篇文章中,我們將詳細(xì)介紹其中的20個(gè)運(yùn)算符,并提供詳細(xì)的解釋和示例。
賦值運(yùn)算符
賦值運(yùn)算符用于將值分配給變量。在JavaScript中,有多種賦值運(yùn)算符,包括“=”、“+=”和“-=”。其中,“=”用于將右側(cè)的值賦給左側(cè)的變量,“+=”用于將右側(cè)的值添加到左側(cè)的變量,“-=”用于從左側(cè)的變量中減去右側(cè)的值。
let x = 10;
x += 5;
x -= 3;
在上述示例中,我們定義了一個(gè)變量x,并使用“=”運(yùn)算符將其值設(shè)置為10。然后,我們使用“+=”運(yùn)算符將5添加到x中,將其值設(shè)置為15。最后,我們使用“-=”運(yùn)算符從x中減去3,將其值設(shè)置為12。
比較運(yùn)算符
比較運(yùn)算符用于比較兩個(gè)值。以下是JavaScript中常用的比較運(yùn)算符:
“==”:檢查兩個(gè)值是否相等。
“!=”:檢查兩個(gè)值是否不相等。
“>”:檢查左側(cè)的值是否大于右側(cè)的值。
“<”:檢查左側(cè)的值是否小于右側(cè)的值。
“>=”:檢查左側(cè)的值是否大于或等于右側(cè)的值。
“<=”:檢查左側(cè)的值是否小于或等于右側(cè)的值。
let x = 5;
let y = 10;
console.log(x == y); // false
console.log(x != y); // true
console.log(x > y); // false
console.log(x < y); // true
console.log(x >= 5); // true
console.log(y <= 5); // false
在上述示例中,我們定義了兩個(gè)變量x和y,并使用比較運(yùn)算符檢查它們之間的關(guān)系。例如,我們使用“==”運(yùn)算符檢查x和y是否相等,使用“!=”運(yùn)算符檢查它們是否不相等。
邏輯運(yùn)算符
邏輯運(yùn)算符用于將多個(gè)條件組合成一個(gè)條件。以下是JavaScript中常用的邏輯運(yùn)算符:
“&&”:如果兩個(gè)條件都為真,則返回真。
“||”:如果兩個(gè)條件中至少有一個(gè)為真,則返回真。
“!”:將一個(gè)條件取反。
let x = 5;
let y = 10;
console.log(x < 10 && y > 5); // true
console.log(x < 10 || y < 5); // true
console.log(!(x == y)); // true
在上述示例中,我們定義了兩個(gè)變量x和y,并使用邏輯運(yùn)算符將它們組合成一個(gè)條件。例如,我們使用“&&”運(yùn)算符檢查x是否小于10并且y是否大于5。
其他運(yùn)算符
除了上述運(yùn)算符,JavaScript中還有許多其他運(yùn)算符。以下是一些常用的運(yùn)算符:
“+”:用于將兩個(gè)值相加或連接兩個(gè)字符串。
“-”:用于將兩個(gè)值相減。
“*”:用于將兩個(gè)值相乘。
“/”:用于將左側(cè)的值除以右側(cè)的值。
“%”:用于返回兩個(gè)值相除的余數(shù)。
let x = 5;
let y = 2;
console.log(x + y); // 7
console.log(x - y); // 3
console.log(x * y); // 10
console.log(x / y); // 2.5
console.log(x % y); // 1
在上述示例中,我們使用其他運(yùn)算符執(zhí)行數(shù)學(xué)計(jì)算。例如,我們使用“+”運(yùn)算符將兩個(gè)數(shù)字相加,使用“*”運(yùn)算符將它們相乘,使用“/”運(yùn)算符將左側(cè)的數(shù)字除以右側(cè)的數(shù)字。
運(yùn)算符優(yōu)先級(jí)
在JavaScript中,不同的運(yùn)算符有不同的優(yōu)先級(jí)。例如,乘法運(yùn)算符比加法運(yùn)算符具有更高的優(yōu)先級(jí)。如果有多個(gè)運(yùn)算符,則會(huì)按照優(yōu)先級(jí)的順序執(zhí)行運(yùn)算。
以下是JavaScript中常用運(yùn)算符的優(yōu)先級(jí)順序:
“()”:括號(hào)中的運(yùn)算優(yōu)先執(zhí)行。
“*”、“/”、“%”:乘法、除法和取余運(yùn)算。
“+”、“-”:加法和減法運(yùn)算。
“<”、“>”、“<=”、“>=”:比較運(yùn)算符。
“==”、“!=”:相等和不相等運(yùn)算符。
“&&”:邏輯與運(yùn)算符。
“||”:邏輯或運(yùn)算符。
“=”、“+=”、“-=”:賦值運(yùn)算符。
let x = 5;
let y = 10;
let z = 15;
console.log(x + y * z); // 155
console.log((x + y) * z); // 225
在上述示例中,我們使用了括號(hào)來明確運(yùn)算優(yōu)先級(jí)。例如,我們使用括號(hào)將加法運(yùn)算符的優(yōu)先級(jí)提高到乘法運(yùn)算符之前。
這是JavaScript中的一些常用運(yùn)算符的介紹和示例,掌握這些運(yùn)算符可以幫助你更好地理解和編寫JavaScript代碼。
位運(yùn)算符
除了上述運(yùn)算符,JavaScript還有位運(yùn)算符,可以操作數(shù)字的二進(jìn)制表示。這些運(yùn)算符沒有上述運(yùn)算符使用的頻率高,但了解它們的功能仍然是有用的。
&
?- 按位與運(yùn)算符。如果兩個(gè)位都是1,則在每個(gè)位位置上返回1。|
?- 按位或運(yùn)算符。如果至少有一個(gè)位是1,則在每個(gè)位位置上返回1。^
?- 按位異或運(yùn)算符。如果只有一個(gè)位是1,則在每個(gè)位位置上返回1。~
?- 按位非運(yùn)算符。翻轉(zhuǎn)其操作數(shù)的每一位。<<
?- 按位左移運(yùn)算符。將第一個(gè)操作數(shù)的位向左移動(dòng)指定的位數(shù)。右側(cè)的新位填充為0。>>
?- 按位右移運(yùn)算符。將第一個(gè)操作數(shù)的位向右移動(dòng)指定的位數(shù)。左側(cè)的新位將填充符號(hào)位,即最左側(cè)位。>>>
?- 按位無符號(hào)右移運(yùn)算符。類似于>>
運(yùn)算符,但左側(cè)的新位填充為0。
let a = 5; // 101 in binary
let b = 3; // 011 in binary
console.log(a & b); // 001 (1 in binary)
console.log(a | b); // 111 (7 in binary)
console.log(a ^ b); // 110 (6 in binary)
console.log(~a); // -6
console.log(a << 1); // 10 (2 in decimal)
console.log(a >> 1); // 2
console.log(a >>> 1); // 2
位運(yùn)算符在某些情況下很有用,比如在處理二進(jìn)制數(shù)據(jù)或需要優(yōu)化代碼性能時(shí)。
運(yùn)算符優(yōu)先級(jí)
在JavaScript中,運(yùn)算符具有不同的優(yōu)先級(jí)級(jí)別。例如,乘法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符。如果表達(dá)式中有多個(gè)運(yùn)算符,則會(huì)根據(jù)它們的優(yōu)先級(jí)順序進(jìn)行計(jì)算。
以下是JavaScript中常用運(yùn)算符的優(yōu)先級(jí)順序:
分組運(yùn)算符:
()
計(jì)算成員訪問:
[]
點(diǎn)成員訪問:
.
New (帶參數(shù)):
new
函數(shù)調(diào)用、方法調(diào)用:
()
,?.
后綴遞增/遞減:
++
,?-
邏輯非、按位非、一元加/減、typeof:
!
,?~
,?+
, ``,?typeof
乘法、除法、余數(shù):``,?
/
,?%
加法、減法:
+
, ``按位移動(dòng):
<<
,?>>
,?>>>
關(guān)系運(yùn)算符:
<
,?>
,?<=
,?>=
,?instanceof
,?in
等式運(yùn)算符:
==
,?!=
,?===
,?!==
按位與:
&
按位異或:
^
按位或:
|
邏輯與:
&&
邏輯或:
||
條件(三元)運(yùn)算符:
? :
賦值運(yùn)算符:
=
,?+=
,?=
,?=
,?/=
,?%=
,?<<=
,?>>=
,?>>>=
,?&=
,?^=
,?|=
。
let a = 5;
let b = 10;
let c = 15;
console.log(a + b * c); // 155
console.log((a + b) * c); // 225
console.log(a < b && b < c); // true
console.log(a < b || b > c); // true
console.log(!(a == b)); // true
在上面的示例中,我們可以看到如何根據(jù)優(yōu)先級(jí)計(jì)算不同的運(yùn)算符。乘法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符,因此首先計(jì)算b * c
。然后計(jì)算加法運(yùn)算符,然后是比較運(yùn)算符和邏輯運(yùn)算符。
這就是我們對(duì)JavaScript中不同運(yùn)算符的詳細(xì)介紹。通過掌握這些運(yùn)算符,您將能夠編寫復(fù)雜的JavaScript代碼并在實(shí)際應(yīng)用中使用它們。