JS筆記 | JavaScript中的運算子
阿新 • • 發佈:2019-01-02
JavaScript中的運算子
1.算數運算子
完成基本的算術運算 (arithmetic operators) 符號,就是用來處理四則運算的符號
算數運算子 | 描述 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
% | 取餘 |
++ | 自增 |
- - | 自減 |
- 當自增/減運算子在前時,則先對變數進行自增/減操作,當自增/自減運算子在後時,則後對變數進行自增/自減操作
- 例子:
<script>
let a=3;
console.log(a++ + ++a);//8
let b=5;
console.log(--b + b++ + ++b);//14
<script>
2.比較運算子
運算子 | 描述 |
---|---|
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
== | 等於 |
!= | 不等於 |
=== | 絕對等於 |
!== | 不絕對等於 |
“= =” 用於比較 判斷 兩者相等 "= ="在比較的時候可以轉自動換資料型別
"1"==1;//true
//在比較的時候自動轉換了資料型別
"= = ="用於嚴格比較 判斷兩者嚴格相等 “= = =” 嚴格比較,不會進行自動轉換,要求進行比較的運算元必須型別一致,不一致時返回flase。
"1"===1//false
//必須值和型別均相等
3.邏輯運算子
邏輯運算子 | 描述 |
---|---|
&& | 並且 |
雙豎線 | 或者 |
! | 非 |
//判斷一個分數是否優秀90~100
let score=91;
console.log(score>=90 && score<=100);
//年齡大於65,或者年齡小於12都可以打折
let age=70;
console.log(age>65 || age<12);
//判斷某一年是否為閏年
var year=2000;
var res=year%4==0 && year%100!=0 || year%400==0;
console.log(res);
4.位運算子
轉載:https://blog.csdn.net/qq_36843675/article/details/78875487
運算子 | 描述 |
---|---|
<< | 左移運算 |
>> | 右移運算 |
>>> | 帶符號右移運算子 |
左移運算子表示將一個數的二進位制值向左移動指定的位數,尾數補0,即乘以2的指定次方(最高位符號位不參與移動)
console.log(4 << 1); //8
//4的二進位制形式為100,左移一位相當於1000,即十進位制的8,相當於乘以2的1次方
console.log(-4 << 1); //-8
//-4的二進位制形式是
//11111111111111111111111111111100
//(4的二進位制形式減1再取反),左移一位得到
//11111111111111111111111111111000
//轉換為十進位制得到-8(減1後再取反)
如果左移0位,相當於將該數值轉換為32位整數,相當於取整,對於正數和負數都有效。
console.log(13.5 << 0); //13
console.log(-13.5 << 0); //-13
右移運算表示將一個數的二進位制值向右移動指定位數,頭部補0,即除以2的指定次方(最高位符號位不參與移動)
console.log(4 >> 1); //2
console.log(-4 >> 1); //-2
可以模擬2的整除運算
console.log(5 >> 1); //2 相當於5整除2
console.log(21 >> 2); //5 相當於21整除4
帶符號位的右移運算子(>>>)表示將一個數的二進位制形式向右移動,包括符號位也參與移動,頭部補0,所以該運算總是得到正值。對於正數,該運算的結果與右移運算子(>>)完全一致,區別主要在於負數。
console.log(-4 >>> 1); //2147483646
因為-4的二進位制形式為11111111111111111111111111111100 整體右移一位,得到01111111111111111111111111111110 ,轉換為十進位制得到2147483646。
檢視一個負整數在計算機內部的儲存形式,最快的方法就是使用這個運算子。
5.三目運算子
運算子 | 描述 |
---|---|
條件表示式 ? 表示式1 : 表示式2 | 三目運算子 |
如果條件表示式為true,執行表示式1;
如果條件表示式為false,執行表示式2;
/判斷一個人是否為成年人
let age=10;
age>=18 ? console.log('成年人') : console.log('未成年人');
後記
此篇作為筆記分享,請各位大家多多指導,若有錯誤還請指出,若有知識點遺漏還請補充!