知识点:算术运算符、逻辑运算符、赋值运算符、关系运算符、条件运算符、运算符优先级
运算符=用于赋值
运算符+用于加值
运算符=用于给JavaScript变量赋值
算术运算符:+、-、*、/、%、++、
运算符也叫做操作符
通过运算符可以对一个或则多个值进行运算,并获取运算结果。
算术运算符用于执行变量与/或值之间的算术运算。
1、+加:
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接
任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作
也可以通过“+”完成隐式转换
var num=123+456;
console.log(num);//579
var str="hello"+"world";
console.log(str);//helloworld
//同级运算,从左到右
var num=12+"2"+3
console.log(num);//1223
console.log(typeof num);//string
//同级运算,从左到右
num=12+2+"3"; //"14"+"3"=143
console.log(num);//143
console.log(typeof num);//string typeof检查数据类型
特别提示:任何值做 - * / 运算时自动转换为Number可以利用这一特性完成隐式转换
2、-减:可以对两个值进行减法运算,并返回运算结果
var num=100-"1";
console.log(num);//99
console.log(typeof num);//number
3、*乘:可以对两个值进行乘法运算,并返回运算结果
var num=123*123;
console.log(num);//15129
console.log(typeof num);//number
4、/除:可以对两个值进行除法运算,并返回运算结果
var num=123/12;
console.log(num);
console.log(typeof num);//number
5、%取模:取模运算(取余数)
var num=12%5;
console.log(num);//2
console.log(typeof num);//number
6、++自增
var i=2;
i++; //2+1 ++就是在自身+1
console.log(i);//3
console.log(typeof i);//number
7、--自减
i--; //3-1
console.log(i);//2
console.log(typeof i);//number
逻辑运算符:!(非)、&&(与)、||(或)
逻辑运算符用于测定变量或值之间的逻辑。
给定 x=6 以及 y=3,下表解释了逻辑运算符:
运算符 描述 例子
&& and (x < 10 && y > 1) 为 true
|| or (x==5 || y==5) 为 false
! not !(x==y) 为 true
赋值运算符:=、+=、-=、*=、/
赋值运算符用于给 JavaScript 变量赋值。
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
运算符 例子 等价于 结果
= x=y x=5
+= x+=y x=x+y x=15
-= x-=y x=x-y x=5
*= x*=y x=x*y x=50
/= x/=y x=x/y x=2
%= x%=y x=x%y x=0
关系运算符:>、>=、<、<
Var x=5
运算符 描述 例子
== 等于 x==8 为 false
=== 全等(值和类型) x===5 为 true;x==="5" 为 false
!= 不等于 x!=8 为 true
> 大于 x>8 为 false
< 小于 x<8 为 true
>= 大于或等于 x>=8 为 false
<= 小于或等于 x<=8 为 true
条件运算符:
条件运算符也叫做三元运算符
语法:条件表达式?语句1:语句2;
执行的过程:
条件运算符在执行时,首先对表达式进行求职
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
var c=340;
var d=30;
//比较a与d谁大
var max=c>d?a:d;//如果条件成立则执行c句,不成立则执行d语句
console.log(max);//340
运算符优先级:
JavaScript中的优先级就跟我们数学中的优先级一样,比如在数学中:先乘除,再加减,有括号先算括号里面的
算术运算符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号
(+,-,*,/,++,--,%) (<,>,==,===,<=,>=,!=) (&&,||,!) (=,+=,-=,*=,/=,%=)
var a=5,b,sum;//声明变量
b=100%7;
console.log(b);//b==2
sum=a>b&&a*b>0;
//a>b(a为5,b为2,a大于5)运算结果为true a*b运算结果为10>0 运算结果为true
console.log(sum);//true
//同级运算从左到右
sum=((++a)+3)/(2-(--b))*3;
//6+3等于9 9/1等于9 9*3==27
console.log(sum);//27