01 算术运算符
//+ - * / % var a = 10,b = 4; console.log(a+b);//14 console.log(a-b);//6 console.log(a*b);//40 console.log(a/b);//2.5 console.log(a%b);//2
02 关系运算符
//< > == != var a = 10,b = 4; console.log(a<b);//false console.log(a>b);//true console.log(a==b);//false console.log(a!=b);//true
03 逻辑运算符
/* && || ! */ var a = 10,b = 4; console.log(10>20 && 10>5);//true console.log(10<20 && 10>5);//false console.log(10>20 && 10<5);//false console.log(10>20 || 10>5);//true console.log(10<20 || 10>5);//true console.log(10<20 || 10<5);//false console.log(!(10<5));//True console.log(!(10>5));//false
04 赋值运算符
//+= -= *= /= //a+=b-->a=a+b var a = 10; console.log(a+=4)
05 三元表达式
/* 表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2, 在 expr1 求值为 FALSE 时的值为 expr3。 */ //if-else的一种简写 var a=(10>4)?"true":"false";
06 ++、—
var a = 10 ,b = a++ +10, c = ++a +10, d = a++ +20 + a++; //b--> b=a+10,a=a+1,a++ 先运算后自增 //c--> a=a+1,c=a+10 先自增后运算 //d--> d=a+10,a=a+1,d=a+10+a,a=a+1 console.log(a) console.log(b) console.log(c)
07 隐式转换
1.减法运算符
//+起拼接作用,-强制转换成number console.log("11"+1-true)//"111" 111-1=110 // 在算术计算中先将数据转换为number,再计算 var a = true; var b = "13"; var c = b-a; /* var c = Number(b)-Number(a) */ console.log(c) // 输出12 "true1"-1 // NaN
2.加法运算符
// + 运算符 特殊:遇到字符串变为 拼接符 var a = "10"; var b = 1; var c = true; console.log(a+b-c) // 101-1= 100 console.log(a+b+c) // 101true console.log(a-b+c) // 10 console.log(a+c-b) // NaN // NaN和任何数值去计算,结果都是NaN "1"-9+"true"-parseInt(12.34) // NaN "9"-8+"false" // 1false "9"-8-"false" // NaN
3.比较运算符
//>,<,== 返回的是boolean//先将两边的值转为number,再比较//NaN和任何值作比较,结果都为NaN //===不仅值相等,类型也要相同var a = true;var b = "10"var c = "hello"console.log(a>b) // Number(a)>Number(b) 1>10 falseconsole.log(a>c) // Number(a)>Number(c) 1>NaN falseconsole.log(Boolean(NaN)) // false// NaN和任何值作比较,结果都为NaN console.log(3=="3.00"); //trueconsole.log(3==="3")