运算符
运算顺序与数学中的运算顺序一致,先乘除取余,后加减,有小括号先算小括号
算数运算符( + / - / * / / / % )
赋值运算符( = / += / -= / *= / /= / %= )
var a = 1
a = a + 1 //我自身 赋值为 我自身+1
console.log(a) //2
var a = 2
a += 10
a = a + 10 //12
console.log(a) //12
var a = 5
a /= 2
console.log(a) //2.5
var a = 7
a *= 2
console.log(a)//14
ar a = 9
a %= 2 //取余
console.log(a) //1
比较运算符( = / += / -= / *= / /= / %= )
比较结果只会返回一个布尔类型值,true 或者 false
var a = 4
console.log(a>3)//true
var a = 4
console.log(a>5)//false
var a = 3
console.log(a>=3)//true
var a = 3
console.log(a<=3)//true
var a = 4
console.log(a==3)//false
var a = 4
console.log(a===3)//false
var a = 4
console.log(a===4)//true
逻辑运算符( && / || / ! )
//&& (逻辑与 逻辑且)
//|| (逻辑或)
//! (非, 取反, 逻辑非)
/**
*逻辑与 逻辑且
*前一个为真, 就返回后一个
*前一个为假, 就返回第一个
*/
var a = 4
console.log(a&&3) //前一个为真就返回后一个 3
var a = 0
console.log(a&&3)//前一个为假就返回前一个 0
var a = 3
/**
*逻辑或
*前一个为真(左侧为真), 返回左侧
*前一个为假(左侧为假), 会返回右侧
*/
console.log(a||3)//前一个为假就返回后一个 3
var a = 4
console.log(a||3)//前一个为真就返回前一个 4
var a = 4
//逻辑非 , 取反
console.log(!a)//false (0 转为布尔值, false, (非0即为真))
var a = 4
console.log(!!a)//true
自增自减运算符( ++ / -- )
//变量名 前 或者 后 写上 ++(--)
var a = 4
//++ 在前, 先运算自增, 然后参与周围表达式
console.log(++a)//5
//++ 在后, 先参与周围表达式运算, 然后自增1
console.log(a++)//4
var a = 3
//-- 在前, 先参与自减, 然后参与周围表达式运算
console.log(--a)//2
//-- 在后, 先参与周围表达是运算, 然后自减
console.log(a--)//3
var cc = 5;
console.log(cc++); //5
console.log(cc++);//6 5+1=6
console.log(++cc);//8 6+1+1=8
分支语句(基于某个条件,决定去执行某一段代码)
if分支语句
语法 (条件){当条件为真时,执行的代码}
else{ }当他前面所有的条件都为假时,他会执行
/*if 关键字
*() 条件
*{} 要执行的代码
*else {} 当他前边的所有条件都为假时, 他会执行
*/
//例题
//a == 1时打印1 a == 2时打印2 a == 3时打印3
//如果a不满上诉条件 打印100
var a = 2
if(a == 1){console.log(1)}
else if(a == 2){console.log(2)}
else if(a == 3){console.log(3)}
else{console.log(100)}
switch 分支语句
switch(条件){
case value1: 执行语句1;
break;
case value2: 执行语句2;
break;
default:执行最后的语句
}
var a = 12;
switch(a){
case 12:
console.log('a为12');
break;
case 21:
console.log('a为21');
break;
//当 case 后没有跟随 break 时, 会从第一个满足条件的 case 开始执行, 一直到\
//最后一个或者说 到后续的 最近一个 break
default: //会在上述的条件(case) 都不满足时 执行的
console.log('空')
}
三元表达式(三目 三目运算符)
语法: 条件 ? 条件为真时执行:条件为假时执行
true ? console.log('条件为真') :console.log('条件为假') //三元表达式执行的代码段,只有一行