1、算术运算符
(1)加号 +
- 加号两侧同时为数字,进行加法运算
- 加号两侧任何一侧为字符串,表示字符拼接
(2)减号 -
(3)乘号 *
(4)除号 /
(5)取余 %
在进行减 乘 除 取余运算时:
符号两侧同时为数字进行对应的算术运算,若其中有一侧为非数字,则运算时会把该侧转换为数字,转换成功,进行对应的算术运算,转换失败,得到NaN(Not a Number非数字)
<script>
/*
+ 加
- 减
* 乘
/ 除
% 取余数
*/
console.log(2 + 3);
console.log(2 - 3);
console.log(2 * 3);
console.log(2 / 3);
console.log(3 % 2);
console.log(4 % 2); //余数0
</script>
- += 加等
- -= 减等
- *= 乘等
- /= 除等
- %=
var a = 10;
a = a + 3;
a += 3; // 输出13 和a=a+3结果相等,加等
//其他几个用法相同
字符拼接问题:
console.log(2 + 4 + "=" + 6); //6=6
console.log(4 + "=" + 3 + 1); //4=31 从左往右依次运算
console.log(4 + "=" + (3 + 1)); //4=4
2、三元运算符
语法: 条件?语句1:语句2;
条件成立执行语句1,条件不成立执行语句2
//例1
true ? console.log(1) : console.log(0);
//输出1
//例2
var num = prompt("请输入一个数字", 0);
num % 2 == 0 ? console.log(num + "是偶数") : console.log(num + "是奇数");
3、自增 自减
先赋值再自增(自减),每次增加(减少)1:
- num++
- num--
var a = 10;
console.log(a); //10
console.log(a++); //10 先赋值再自增
console.log(a); //11
//a++ b-- 先赋值再自增(自减)
先自增(自减)再赋值,每次增加(减少)1:
- ++num
- --num
var a = 10;
console.log(a); //10
console.log(++a); //11 先自增再赋值
console.log(a); //11
// ++a --b 先自增(自减)再赋值
综合案例:
var a = 10,
b = 2;
console.log(++a + b + a++); //11+2+11
console.log(a); //12
// a++ a--
// ++或--后置 先把a原来的值作为整个表达式值,再自增或自减
// ++a --a
// ++ 或 -- 前置 先自增或自减, 该运算后的结果作为整个表达式值
4、比较运算符
- 大于>
- 小于<
- 小于等于<=
- 大于等于>=
- 等于==
- 不等于!=
- 恒等===
返回布尔值
console.log(5 > 8); //false
console.log(5 < 8); //true
console.log(5 >= 8); //false
console.log(5 <= 8); //true
console.log(5 == 5); //true
console.log(5 == "5"); //true 比较过程中也会进行类型转换
console.log(5 === "5"); //false恒等,值和类型都要相等,不会进行类型转换
console.log(1 == true); //true
console.log(null == undefined); //true
console.log(null == 0); //false
console.log(0.1 + 0.2 == 0.3); //false
5、逻辑运算符
- 逻辑与&& 符号两侧同时为真,才为真,其他情况均为假
- 逻辑或|| 符号两侧同时为假才为假,其他情况均为真
- 逻辑非 !非真即假 非假即真
//逻辑与&& 符号两侧同时为真,才为真,其他情况均为假
//短路
console.log(true && true); //true
console.log(true && false); //false
console.log(false && false); //false
//逻辑或|| 符号两侧同时为假才为假,其他情况均为真
console.log(true || true); //true
console.log(true || false); //true
console.log(false || false); //false
// 逻辑非 ! 非真即假 非假即真
console.log(!true); //false
console.log(!false); //true