1、什么是运算符:
也被成为操作符,是用于实现赋值、比较和执行运算等功能的符号
2、JavaScript中常用的运算符有:
(1)算数运算符
算数运算符:
概念:算数运算使用的符号,用于执行两个变量或值的算数运算
+ 加
— 减
* 乘
/ 除
% 取余数(取模)
代码展示:
var num1 = 1;
var num2 = 2;
var resa = num1 + num2;
console.log(resa=num1 + num2); //3
console.log(resa=num1 - num2); //-1
console.log(resa=num1 * num2); //2
console.log(resa=num1 / num2); //0.5
console.log(resa=num1 % num2); //1
图片展示:
注意:浮点数的算数运算里面会有问题,避免直接用小数参加运算,在进行算数计算式其精确度远不如正整数
例如:
代码展示:
var num = 0.1 + 0.2;
console.log(0.1+0.2); //结果会是0.3吗???
结果展示:
所以我们不能拿浮点数来进行相比较,是否相等
(2)递增和递减运算符
递增运算符和递减运算符的概述:
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(--)来完成
在js中,递增(++)和递减(--)既可以放在变量前面,也可以放在变量后面。放在变量前面时,我么可以称之为前置递增(递减)运算符,放在变量后面时,我们可以称之为后置递增(递减)运算符。
1)前置递增递减
前置递增运算符 ++写在变量的前面
代码展示:
var age = 10;
++age;//类似于age = age + 1
console.log(age);
//3.先加1 后返回值
var p = 10;
console.log(++p + 10); //21
图片展示:
前置递减运算符同前置递增一样
2)后置递增递减
num++ 把++放在变量后面,实现的效果类似于前置一样
代码展示:
var age = 10;
console.log(age++ + 10); //20
console.log(age);
图片展示:
前置自增和后置自增如果单独使用 效果是一样的
后置递增 口诀:先返回原值,后+1
(3)比较运算符
比较运算符:
概念:比较运算符(关系运算符)是两个数据进行比较时使用的运算布尔值符,比较运算后,
会返回一个布尔值(true/false)作为比较运算的结果。
< 小于号 1<2 true
> 大于号 1>2 false
>= 大于等于号(大于或者等于) 2>=2 true
<= 小于等于号(小于或者等于) 3<=2 true
== 判等号(会转行) 9==9 true
!= 不等号 9!=9 false
=== !== 全等 要求值和 数据类型都一致 9==='9' false
代码展示:
console.log(3>=5); //false
console.log(3<=5); //true
console.log(3==5); //false
console.log('整头睡不醒' == '枕头睡不着'); //flase
console.log(18 == 18); //true
console.log(18 == '18'); //true
console.log(18 != 18); //flase
console.log(18 === 18); //true
console.log(18 === '18'); //flase
图片展示:
注意:1、我们程序里面的等于号 是' == '会把字符串型的数据转换为数字型 只要求值相等
2、我们程序里面有全等于 是'===' 一模一样 要求两侧的值 还有 数据类型完全一致才可以 true
(4)逻辑运算符
逻辑运算符
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面的开发中经常用于多个条件的判断 、
逻辑运算符 说明 案例
1) && "逻辑与"简称"与"and true&&false
逻辑与(&&)两侧都为true 结果才是true 只要有一侧为false 结果就为flase
代码展示:
console.log(3 > 5 && 3 >2); //false
console.log(3 < 5 && 3 >2); //true
结果展示:
2) || "逻辑或"简称"或"or true||false
逻辑或(|| or) 两侧都为假 false 结果才是false 只有一处为true 结果就是true
代码展示:
console.log(3 > 5 || 3 >2); //true
console.log(3 < 5 || 3 <2); //flsae
结果展示:
3) ! "逻辑非"简称"非"not !true
逻辑非 (not) !也叫取反符,用来取布尔值相反的值,如true的相反之为false
代码展示:
console.log(!true); //false
结果展示:
(5)赋值运算符
赋值运算符
概念:用来把数据赋值给变量的运算符
赋值运算符 说明 案例
= 直接赋值 var usrName = "w枕头睡不醒"
+=、-= 加、减一个数后再赋值 var age = 10;age += 5; 15
*=、/=、%= 乘、除、取模后在赋值 var age = 2;age *= 5; 10
代码展示:
var age =2;
age *= 3;
console.log(age);
结果展示:
其他的类型同这个例子相同
(6)位运算符
按位与 AND a & b
在 a,b 的位表示中,每一个对应的位都为 1 则返回 1, 否则返回 0.
按位或 OR a | b
在 a,b 的位表示中,每一个对应的位,只要有一个为 1 则返回 1, 否则返回 0.
按位异或 XOR a ^ b
在 a,b 的位表示中,每一个对应的位,两个不相同则返回 1,相同则返回 0.
按位非 NOT ~ a
反转被操作数的位