1. 程式人生 > >JS筆記 | JavaScript中的運算子

JS筆記 | JavaScript中的運算子

JavaScript中的運算子

1.算數運算子

完成基本的算術運算 (arithmetic operators) 符號,就是用來處理四則運算的符號

算數運算子 描述
+
-
*
/
% 取餘
++ 自增
- - 自減
  1. 當自增/減運算子在前時,則先對變數進行自增/減操作,當自增/自減運算子在後時,則後對變數進行自增/自減操作
  2. 例子:
<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('未成年人');

後記

此篇作為筆記分享,請各位大家多多指導,若有錯誤還請指出,若有知識點遺漏還請補充!