算数运算符
普通运算符
运算符 | 运算 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
** | 幂运算 |
自增(自减)运算符
运算符 | 运算 | 示例 | 结果 |
++ | 自增(前置) | a=1; b=++a; | a=2; b=2; |
++ | 自增(后置) | a=1; b=a++; | a=2; b=2; |
-- | 自减(前置) | a=1; b=--a; | a=0; b=0; |
-- | 自减后置) | a=1; b=a--; | a=1; b=2; |
注意:不管是自增(前置)还是自减(前置)都是先计算在输出,而自增(后置)和自减(后置)都是先输出在计算,这样会出现前置自增(自减)的输出和计算结果是一致的,而后置自增(自减)的输出会比计算结果要大1;
//自增(前置)
var a = 1;
var b = ++a;
console.log(b);
//计算结果a=2
//自增(后置)
var a1 = 1;
var b1 = a1++;
console.log(b1);
//计算结果a1=2
//自减(前置)
var a2 = 1;
var b2 = --a2;
console.log(b2);
//计算结果a2=0
//自减(后置)
var a3 = 1;
var b3 = a3--;
console.log(b3);
//计算结果a3=0
字符串运算符
字符串+字符串==字符串
假设有两个变量,一个变量存放名字“张三”,另一个变量存放性别“男”,现在需要示“张三:男”,这时可以将字符串“张三” “:” “男”拼接起来。字符串拼接就需要使用字符串运算符,JavaScript中,加号“+”可以用于字符串拼接
var name = '张三'
var sex = '男'
var ser = name + ":" + sex;
console.log(ser);
数字+字符串==字符串
在数字类型和字符串类型相互运算时,数字类型会被转化成字符串类型,在进行字符串的运算;
var a = 1;
var sex = '男'
var ser = a + ":" + sex;
console.log(ser);
布尔+字符串==字符串
在布尔类型和字符串类型相互运算时,布尔类型会被转化成字符串类型,在进行字符串的运算;
var a = true;
var sex = '男'
var ser = a + ":" + sex;
console.log(ser);
赋值运算符
赋值运算符用于将运算符右边的值赋给左边的变量.
运算符 | 运算 | 示例 | 结果 |
= | 赋值 | a=3; b=2; | a=3; b=2; |
+= | 加并赋值 | a=3; b=2; a+=b; | a=5; b=2; |
字符串拼接并赋值 | a="asd"; b="qwe" a+=b | a="asdqwe" | |
-= | 减并赋值 | a=3, b=2; a-=b; | a=1; b=2; |
*= | 乘并赋值 | a=3, b=2; a*=b; | a=6; b=2; |
/= | 除并赋值 | a=3, b=2; a/=b; | a=1.5; b=2; |
%= | 取余并赋值 | a=3, b=2; a%=b; | a=1; b=2; |
**= | 幂运算并赋值 | a=3; a**=2; | a=9; |
var a=3;
a += 2;//相当于a=a+ 2
console.log(a);//输出结果:5
a -= 2;//相当于a=a-2
console.log(a);//输出结果:3
a *= 2;//相当于a=a*2
console.log(a);//输出结果:6
a /= 2;//相当于a=a/2
console.log(a); //输出结果:3
a %= 2;//相当于a=a号2
console.log(a);//输出结果:1
a**=2//相当于a=a**2
console.log(a)//输出结果:1
字符串拼接并赋值
var a="asd";
a+=18;
console.log(a);
比较运算符
在JavaScript中的比较运算符用于对两个数据进行比较,比较结果是布尔值true或 false。
运算符 | 运算 | 示例 | 结果 |
> | 大于 | 5>4 | true |
< | 小于 | 5<4 | false |
>= | 大于或等于 | 5>=4 | true |
<= | 小于或等于 | 5<=4 | false |
== | 等于 | 5==4 | false |
!= | 不等于 | 5!=4 | true |
=== | 全等 | 5===5 | true |
!== | 不全等 | 5!==5 | false |
需要注意的是,运算符“==”和“!=”在比较不同类型的数据时,首先会自动将要进行比较的数据转换为相同的数据类型,然后进行比较,而运算符“===”和“!==”在比较不同类型的数据时,不会进行数据类型的转换。
console.log(12 >= 12);//输出结果:true
console.log(12 == "12");//输出结果:true
console.log(12 === "12");//输出结果:false
逻辑运算符
在程序中,也会遇到条件判断的情况,此时可以利用逻辑运算符来实现。
在JavaScript 中的逻辑运算符就可以用于条件判断
运算符 | 运算 | 示例 | 结果 |
&& | 与 | a&&b | 如果a的值为 true,则输出b的值;如果a的值为false,则输出a的值 |
|| | 或 | a||b | 如果a的值为 true,则输出a的值;如果a的值为false,则输出b的值 |
! | 非 | !a | 若a为true,则结果为false,否则相反 |
// 逻辑“与”
console.log(123 && 456);//输出结果:456
console.log(0 && 456); //输出结果:0
console.log(2 > 1 && 3 > 1); //输出结果:true
console.log(2 < 1 && 3 > 1); //输出结果:false
//逻辑“或”
console.log(123 || 456);//输出结果:123
console.log(0 || 456);//输出结果:456
console.log(2 > 1 || 3 < 1);//输出结果:true
console.log(2 < 1 || 3 < 1);//输出结果:false
//逻辑“非”
console.log(!(2 > 1));//输出结果:false
console.log(!(2 < 1));//输出结果:true
在Java script的逻辑运算符中0被转换为布尔值为false,而其他数被转换为布尔值为true。
所以在console.log(0 && 456);中左表达式“0”转换为布尔值为false,因此输出左表达式“0”的值,结果为 0。
三元运算符
三元运算符也称为三元表达式,使用问号“?”和冒号“:”两个符号来连接,根据条件表达式的值来定问号后面的表达式和冒号后面的表达式哪个被执行
格式:
条件表达式? 表达式1:表达式2
如果条件表达式的值为true,则返回表达式1的执行结果;如果条件表达式的值为false,则返回表达式 2的执行结果。
var a = 1;
var b = a>=1? "true":"false"
var b1 = a<1? "true":"false"
console.log(b);
console.log(b1);
位运算符
位运算符用来对数据进行二进制运算,在运算时,位运算符会将参与运算的操作数视为由二进制数(0和1)组成的32位的串,位运算符运算时会将二进制数的每一位进行运算。
运算符 | 名称 | 说明 |
& | 按位“与” | 将操作数进行技位“与”运算,如果两个二进制位都是1,则该位的运算结果为1,否则为0 |
| | 按位“或” | 将操作数进行技位“或”运算,只要二进制位上有一个值是1,该位的运算结果就为1,否则为 0 |
~ | 按位“非” | 将操作数进行按位“非”运算,如果二进制位为0,则按位“非”的结果为 1;如果二进制位为1,则接位非的结果为0 |