1、算术运算符 + - * / %
2、递增递减运算符
++ --可以放到变量的前面 (前置递增)也可以放到变量的后面(后置递增)
递增递减运算符必须和变量配合使用,单独使用放前后没有区别
在运算中有区别,++num是先自增在运算,++num是先与运算在自增,- - 同理
3、比较运算符
< > <= >= !=不等于
= 赋值 ==值相等就行 ===完全相等
4、逻辑运算符
&& 逻辑与 and true && false 见false则false
|| 逻辑或 or true || false 见true则true
! 逻辑非 not !true
// 逻辑与,两侧都为true 结果为true 只要有一侧为false 结果是false
console.log(true && true); //true
console.log(true && false); //fase
console.log(false && true); //fase
console.log(false && false);//fase
console.log(3>5 && 3>2); //false && true false
console.log(3<5 && 3>2) ; //true && true true
// 逻辑或 两侧都为false 结果才为false 只要有一侧为true 结果就是true
console.log(true || true); //true
console.log(true || false); //true
console.log(false || true); //true
console.log(false || false);//fase
console.log(3>5 || 3>2); //false && true true
console.log(3<5 || 3>2) ; //true && true true
// 逻辑非
console.log(!true); //false
console.log(!false); //true
/*
短路运算原理:有多个表达式(值)时,左侧的表达式可以确定结果时,就不再继续运算右边的表达式的值
*/
// 逻辑与
// 表达式1 && 表达式2
// 第一个表达式值为真,返回第二个表达式
// 第一个表达式为假,返回第一个表达式
console.log((3+4)&&9); //9
console.log(1&&0); //0
console.log(0&&1); //0
console.log("-------------")
// 逻辑或
// 表达式1 || 表达式2
// 第一个表达式值为真,返回第1个表达式
// 第一个表达式为假,返回第2个表达式
console.log((3+4)||9); //7
console.log(1||0); //1
console.log(0||1); //1
var num;
console.log(num&&num>3) ; //
console.log("-------------")
console.log(null && 5); //null
console.log(undefined && 7) // undefined
console.log("123"&&8); //8
console.log(""&&8); //""
5、三目(三元)运算符
一般会把三目运算符赋值给一个变量配合使用
// 条件?'表达式1':"表达式2"
var num = 2;
num>2?console.log(23):console.log(34)
var b = num>1?"hello":"word";
console.log(b)
6、运算优先级
注意:逻辑非得优先级很高
优先级 运算符
1 小括号
2 ++ -- !
3 算数运算符 先 * / % 后 + -
4 > >= <
5 == != ===
6 先&& 后 ||
7 =