JavaScript运算符

34 阅读1分钟

JS运算符

运算符也被称为操作符,是用于实现赋值,比较和执行算数运算等功能的符号

常用的运算符

算数运算符

递增递减运算符

比较运算符

逻辑运算符

赋值运算符

算数运算符

  • +加 10+10=20
  • -减 20-10=10
  • 乘* 1*2=20
  • / 除 6/3=2
  • %取余 10%3=1

浮点数的精度问题

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

var num=0.1+0.2//结果不是0.3而是0.30000000000000004

不能直接难着浮点数来进行相比较

var num=0.1+0.3
console.log(num==0.4)//false

算数运算符的优先级

先乘除取余,后加减,有小括号先算小括号里的

表达式返回值

表达式是由数字 运算符 变量组成的式子

表达式最终都会有一个结果,返回给我们,我们称为返回值

比较运算符

// 1.大于
console.log(1 > 1);/* false */
// 2.小于
console.log(2 < 1);/* true */
// 3.大于等于
console.log(2 >= 1);/* true,满足大于或者等于其中一条为true */
// 4.小于等于
console.log(2 <= 1);/* false,满足小于或者等于其中个件 就为true,不满足为false*/
// 5.等于
console.log(2 == 1);/* false */
console.log(2 == '2');/* true
  */
console.log(2 === '2');/* false,需要核对数据类型数值等才是true,其中'2'是字符串
 */
/* 6.不等于 */
console.log(2 != 1);/* true */
console.log(2 != 2);/* false */
console.log(2 != '3');/* true */
console.log(2 !== '2');/* true 这个需要看左右两边值以数据类型是否一直,'2'是字符串 2是数值,所以是不于,结果true */

逻辑运算符

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

&& 逻辑与 简称与 and

|| 逻辑或 简称或 or

! 逻辑非 简称非 not

//  1.逻辑与两侧都为true,结果才是true,只要有一侧为false,结果就为false 
console.log(3>5&&3>2);//结果false
console.log(3<5&&3>2);//结果true
// 2.逻辑或 || or 两侧都为false,结果才是假false,只要一侧为true,结果就是true
console.log(3>5||3>2);//结果true 
console.log(3>5||3<2);//结果false
// 逻辑非 not
console.log(!true)//结果就是false

逻辑中断

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

/* 1.逻辑与&&特性 */
 /*
符号左边的值如果为真(也就是转为布尔值后为true)会返回符号右边的值
如果为假(也就是转为布尔值后为faLse),那么会将回出去 */
console.log(1 && 100);/* 100 */
 console.log(1 && '100');/* '100' */
console.log(0 && 200);/* 0 */
/* 逻辑或运算符的特性!!!
 符号左边的值如果为真,那么会将自身返回出去
如果为假,那么会将符号右侧的值返回出去*/
 console.log(1 || 200);/* 1 */
console.log(0 || 200);/* 200 */
console.log(1 || '200');/* 1 */
console.log(0 || '200');/* '200' */
console.log(true || 100);/* 1 */
console.log(false || 300);/* 300 */
console.log(99 || 300);/* 99,99转换为布true,所以结果为左边值99 
 /* 逻辑非运算符的特性!!!
 语法: !值
 返回值:将值转换为布尔值之后,做个取反的操作,true改变faLse, faLse改变为true*/
 console.log(!100);/* false , 100转换为布true,true取反为false */

递增递减运算符

如果需要反复给数字变量添加或者减去1,可以使用递增(++)和递减(--)运算符来完成

在JS中递增(++)和递减(--)既可以放在变量的前面,也可以放在变量的后面,放在变量前面称为前置递增(递减),放在变量的后面称为后置递增(递减)运算符

递增递减运算符必须搭配变量使用

前置后置单独使用时结果是一样的

与其他代码连用时,执行结果是不同的

前置递增口诀:先自加,后返回值

后置递增口诀:先返回原值,后自加

想要自己+1
var num=1;//可以简写成++num
num=num+1
console.log(num);//2
var age=10
++age//前置递增 类似age=age+1
前置递增口诀:先自加,后返回值
//后置递增运算符
var b=11
console.log(b++ + 10)//结果为21,其中里面的b++为11 ,b为12
//单独使用时结果一样如下:
b++//结果11
++b//结果11

赋值运算符

 // 1.+=加等
 var a = 10
 a += 10/* 意思就是a=a+10 */
 console.log(a);/* 20 */
 // 2.-=减等
 var b = 2
 b -= 6/* 意思就是b=b-6 */
 console.log(b);/* -4 */
 // 3.*=乘等
 var c = 4
 c *= 5/* c=c*5 */
 console.log(c);/* 20 */
 // 4. /=除等
 var d = 30
 d /= 3/* d=d/3 */
 console.log(d);/* 10 */
 // 5.%=余等
 var f = 10
 f %= 3/* f=f%3 */
 console.log(f);/* 1 */

运算符优先级

第一级: ()小括号

第二级: 一元运算符:++ -- !

第三级: 算数运算符 先*/后+-

第四级: 关系运算符 > >= < <=

第五级: 相等运算符: == != === !==

第六级: 逻辑运算符:先&&后||

第七级: 赋值运算符:=

第八级: 逗号运算符:,