大家好,我是阿赵。继续学习JavaScript,这次来学习一下运算符。
一、 算术运算符
基础的算术运算符有:
- +:求和
- -:求差
- *:求积
- /:求商
- %:取模(求余数),也用于判断是否被整除
这里的算术运算符一般是用于数字型之间的运算,但加号还可以用于字符串的拼接。
字符串型的变量可以由单引号、双引号或者反引号包裹。
字符串可以通过+号拼接,如果+号两边有其中一边是字符串,另外一边也会隐式转换成字符串。
字符串除了可以用+拼接,可以通过模板来拼接。
语法: - 字符串必须用反引号包裹
- 里面的参数用${变量名}
比如
<script>
let a = 10;
let b = `变量a的值是${a}`;
console.log(`b的类型是${typeof b}`);
</script>
结果:

二、 赋值运算符
最基础的赋值符是等号=,然后根据算术运算符还可以有:
+=、-=、*=、/=、%=,分别指的是在原来基础上和后面的数字进行运算,比如:
a+=1,其实就是a = a + 1。
a- =1,其实就是a = a - 1。
其他几个运算符同理。
三、 一元运算符
自增和自减运算符:
自增:++
自减:–
比如a++,其实就是a = a+1。a–就是a = a-1。
自增符还有前置和后置之分:
前置:++i:代表先自加,再使用
比如:
let a = 1;
let b = ++a + 1;
console.log(b);
结果是:

因为++a先算,a已经变成2了,再+1就是3。
后置:i++:代表先试使用,再自加
let a = 1;
let b = a++ + 1;
console.log(b);
结果是:

因为a++是先算完再自加,所以在参与+1计算时,a还是1。
四、 比较运算符
比较运算符是比较左右2个值,结果是true或者false。
比较运算符有:
>、<、>=、<=、==、!=、===、!==
前面4个很好理解,就是大于、小于、大于等于、小于等于。
主要说一下后面4个:
==:左右两边的“值”是否相等
!=:左右两边的“值”是否不等
===:左右两边的“类型”和“值”都相等
!==:作用两边是否不全等。
举例:
let a = 10;
let b = '10';
console.log(a == b);
console.log(a === b);
console.log(a != b);
console.log(a !== b);
结果是:

a和b的值都是10,但是a是数字型,b是字符串型,所以导致了这个结果。
所以如果我们真的想判断两个变量是否相等,最好是用**=** 或者 **!**。
注意:NaN不等于任何,包括NaN自己。
字符串也可以比较,比较的是字符的ASCII码。从左往右比较。
尽量不要比较小数,因为小数有精度问题。
如果不同类型之间比较,会隐式转换成Number进行比较。
五、 逻辑运算符
逻辑运算符有以下几种:
1、 与
符号:&&
含义:并且,当符号两边都是true,结果才会是true
let a = true;
let b = false;
console.log(a && b);// false
2、 或
符号:||
含义:或者,当符号两边有一个是true,结果就是true
let a = true;
let b = false;
console.log(a || b);// true
3、 非
符号:!
含义:取反,原值是true会变成false,原值是false会变成true
let a = true;
let b = !a;
console.log(b);//false
六、 运算符优先级
在同一行里面有多个运算符的情况下,优先级如下:
- 小括号:()
- 一元运算符:±、++、–、!
- 算术运算符:先*/%,后±
- 关系运算符:>、>=、<、<=
- 相等运算符:、!=、=、!==
- 逻辑运算符:先&&后||
- 赋值运算符:=
- 逗号运算符:,

322

被折叠的 条评论
为什么被折叠?



