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 */
运算符优先级
第一级: ()小括号
第二级: 一元运算符:++ -- !
第三级: 算数运算符 先*/后+-
第四级: 关系运算符 > >= < <=
第五级: 相等运算符: == != === !==
第六级: 逻辑运算符:先&&后||
第七级: 赋值运算符:=
第八级: 逗号运算符:,