JS基础必读——运算符

视频链接:https://www.bilibili.com/video/BV1ux411d75J?p=41
点击观看视频

1.运算符

运算符(operator)也被称为操作符,是用于实现赋值,比较和执行算数运算等功能的符号。
JavaScript中常用的运算符有:

  • 算术运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

2.算数运算符

2.1算数运算符概述

概念:算数运算使用的符号,用于执行两个变量或值的算术运算。

运算符描述实例
+10+20=30
-30-20=10
*10*20=200
/20/2=10
%取余返回除法的余数 9%2=1

2.2浮点数的精度问题

浮点数值的最高精度是17位小数,但在进行算数时其精确度远远不如整数。

//1.浮点数 算数运算里面会有问题
var result = 0.1+0.2;	//结果不是0.3,而是:0.300000000000000004
console.log(0.07*100);	//结果不是7,而是:7.000000000000000001

//2.我们不能直接拿着浮点数来进行比较是否相等
var  num = 0.1+0.2;
console.log(num == 0.3);	//false

2.3表达式和返回值

表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合
简单理解:是由数字、运算符、变量等组成的式子

//在程序中里 2=1+1 把我们右边的表达式计算完毕把返回值给左边
var num = 1+1;

3.递增和递减运算符

3.1递增和递减运算符概述

如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(–)运算符来完成。
在JS中,递增(++)和递减(–)既可以放在变量前面也可以放在变量后面。放在变量前面是我们可以称为前置递增(递减)运算符,放到变量后面是,我们称为后置递增(递减)运算符。

//1.想要一个变量自己家1 num = num+1比较麻烦
var num = 1;
num = num+1;//++num
console.log(num)	//2

//2.前置递增运算符 ++写在变量前面
var num1 = 1;
++num1;//2 类似于 num1 = num1+1

//先加一 后返回值
var num2 = 2;
console.log(++num2 + 10);	//13	

//3.后置递增运算符 ++写在变量后面
var age = 10;
age++;//11 类似于 age= age+1

//先返回原值  后加1
var age2 = 15;
console.log(age2++ + 10);	//25  15+10=25	
console.log(age2);//16

3.2前++ 和后++的区别

1.前++和后++如果单独使用效果是一样的
2.前++是先加+,后返回值。后++是先返回原值,后加+1
例子:

var a= 10;
++a;	//10

var b=++a +2;	//11+2=13
console.log(b);	//13

var c = 10;
c++;	//11
var d = c++ +2;	// c++ =11  11+2=13
console.log(d);	//13

var e = 10; 
var f = e++ +  ++e;	//e++ =10  e=11 ++e =12 f=10+12=22
console.log(f);	//22

4.比较运算符

4.1比较运算符概述

概念:比较运算符(关系运算符)是两个数据进行比较是所使用的运算符,比较运算后,回返回一个布尔值(true/false)作为比较运算的结果。

运算符名称说明案例结果
<小于号1<2true
>大于号1>2false
>=大于等于号2>=2true
<=小于等于号3<=2false
==判等号(会转型)37=37true
!=不等于36!=36false
===全等37===‘37’true

4.2 = 小结

符号作用用法
=赋值把右边给左边
==判断判断两边值是否相等(注意此时有隐式转换)
===全等判断两边的值和数据类型是否完全相同

5.逻辑运算符

5.1逻辑运算符概述

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断。

逻辑运算符说明案例结果
&&逻辑与,简称“与” andtrue && falsefalse
||逻辑或,简称“或” ortrue || falsetrue
!逻辑非,简称“非” not!truefalse

5.2逻辑与 &&

两边都是true才返回true,否则返回false

 var res = 2>1 && 3>1  //true  2>1=true  3>1 = true,两边都是true,所以结果是true

 var res2 = 2<1 && 3>1  //false  2<1=false  3>1 = true,其中一边为false,则结果是false
 

5.3逻辑或 ||

两边都是false才返回false,否则返回true

 var res = 2<1 || 3<1  //false  2>1=false  3>1 = false,两边都是false,所以结果是false

 var res2 = 2<1 || 3>1  //true	2<1=false  3>1 = true,其中一边为true,则结果是true
 

5.4逻辑非 !

逻辑非(!)也叫作取反符,用来取一个布尔值想反的值,如true的相反值是false

 var isok = !true;	//false
 var isnot = !false;	//true 

5.5短路运算(逻辑中断)

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;

1 .逻辑与
  • 语法:表达式1 && 表达式2
  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1
 console.log(123 && 456) //456
 //如果有空的或者否定的为假,其余是真的 0、' '、null、undefined、NaN
 console.log(0 && 456) //0
 console.log(0 && 1+2*4) //0

2 .逻辑或

逻辑或正好与逻辑与之相反

  • 语法:表达式1 || 表达式2
  • 如果第一个表达式的值为真,则返回表达式1
  • 如果第一个表达式的值为假,则返回表达式2
 console.log(123 || 456) //123
 //如果有空的或者否定的为假,其余是真的 0、' '、null、undefined、NaN
 console.log(0 || 456) //456
 console.log(0 || 1+2*4 ||369) //9

6.赋值运算符

概念:用来把数据赋值给变量的运算符

赋值运算符说明案例
=直接赋值var usrName = “我是值”;
+=、-=加、减一个数后在赋值var age = 10; age+=5; //15
*=、/=、%=乘、除、取余后在赋值var age =2; age*=5; //10
var age = 10;
age +=5;//相当于age = age+5
age -=5;//相当于age = age-5
age *=5;//相当于age = age*5

7.运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ - - !
3算术运算符先* / % 后+ -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符先 && 后 ||
7赋值运算符=
8逗号运算符,
  • 一元运算符里面的逻辑非优先级很高
  • 逻辑与比逻辑或优先级高
//先算逻辑与 false || true && true && true &&true
console.log(4>=6 || '人'!='sdf' && !(12*2==144) && true) //true

var num =10;
//true && true 
console.log(5 == num/2 && (2+2*num).toString() ==='22'); //true

//练习
var a = 3>5 && 2<7 && 1==4; //false && true && false
console.log(a);	//false

var b = 3<=4 || 3>1 || 3!=2;	//true || true || true
console.log(b)//true

var c = 2==='2';//false
console.log(c); //false

var d = !c || b && a;	//true ||true && false
console.log(d);	//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值