js的運算子一共包括五種,下面我們來乙個個的解說一下,開工~
1、賦值運算子
符號:=
解釋:這裡的等號不是數學裡面的相等,是賦值。在應用時,需要先把等號右邊的表示式算出來結果,再賦值給左邊。
var a =10+
5;console.
log(a);//15
2、算術運算子
符號:+、 -、 *、 /、 %、 ++、 –
解釋:算術運算子的優先順序是先乘除再加減
①.%是取餘、求模,也就是整數除以乙個數,除不開了,餘下的數就是答案。例如:10%3=1(10對3取餘/求模等於1)。
②.++自增:++放在前面,放在後面是區別的
a:當然了作為自增量,++a和a++,都會讓a加1
var a = 10
; console.log(a++,++a);//11,11
b:當需要賦值給另乙個變數的時候,就不一樣了
a = 10
; var b = a++;
console.log(b);//10
var c = ++a
; console.log(c);//11
哈哈,這個時候小夥伴們就要疑惑了吧,不都是自增嗎,咋換了個位置就不行了呢,好且聽我偷偷的告訴你們乙個口訣:
++在後,先賦值後運算;++在前,先運算後賦值。
其實很好理解,比如上面的例子中的a++,++在後,那你一看人家在賦值的時候都把++藏自己身後了,肯定是要獨享唄對不對;那++a,一看都擺在前面了,肯定是要一直賦值給人家的啦~
③.–自減
情況和自增一樣,請參考上面。偷個懶o(∩_∩)o~
3、關係運算子
符號:<,>,>=,<=,!=,!==,==,===
解釋:關係運算子的結果是布林值(true/false)
另外需要注意的是==和===,多乙個等號就會多一層判斷,多乙個等號的那個不僅判斷數值,也會判斷資料型別是否一致,一致返回true,反之返回false
==和===的區別:
console.log(5 == "5");//true,不看資料型別,只比較大小
console.log(5 === "5");//false,會判斷型別,並比較大小
4、邏輯運算子
符號:邏輯運算子可以連線多個關係表示式,分為以下三種:
邏輯與 && 並且;邏輯或 || 或者;邏輯非 ! 取反
解釋:
①.&&邏輯與,需要兩個條件都為真,才為真,即一假即假
②.||邏輯或,只要有乙個條件為真就為真,即一真即真
③.!邏輯非,對結果取反
④.運用邏輯運算子做乙個判斷的時候有可能有多個關係表示式共存
5、條件運算子/三目運算子
符號:條件?表示式1:表示式2
解釋:條件為真,執行表示式1;為假,執行表示式2。
最簡單的例子
var a =
true
?3:5;
console.
log(a);//當然是3啦~\(≧▽≦)/
6、運算子的優先順序問題:
算術運算子》關係運算子》邏輯運算子》賦值運算子,
這個式子不難得出,按照正常的運算規則,舉幾個例子一試便知,所以我也就不贅述了……
7、斷路與 和 短路或的問題:
這個存在的理由是要節省系統效能
斷路與:在邏輯與裡面,如果第乙個條件為假,就可以判斷整個表示式為假,就不會去判斷第二個條件(一假即假)
短路或:在邏輯或裡面,如果第乙個條件為真,就可以判斷整個表示式為真,就不會去判斷第二個條件(一真即真)
JS運算子和運算子優先順序
先做一道題 var val abcd console.log value is val abcd a b 控制台列印出的結果是 a 因為連線符的優先順序高於三元運算子,所以該題目相當於 value is true a b 由此得出該題的兩個變體 console.log value is val ab...
運算子優先順序 C 運算子優先順序
c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...
運算子優先順序 Python 運算子優先順序
python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...