JS笔记 | 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('未成年人');

后记

此篇作为笔记分享,请各位大家多多指导,若有错误还请指出,若有知识点遗漏还请补充!

猜你喜欢

转载自blog.csdn.net/weixin_44290930/article/details/85339856