算术运算符 + - * / %
var x = 10;
var y = 5;
console.log(x + y); //15
console.log(x - y); //5
console.log(x * y); //50
console.log(x / y); //2
console.log(x % y); //0
逻辑运算符(只能为true或false)
逻辑与 &&
逻辑或 ||
逻辑非 !
&&
console.log(true && true); //true
console.log(true && false); //false
console.log(false && true); //false
console.log(false && false); //false
只要有一个false就为false
||
console.log(true || true); //true
console.log(true || false); //true
console.log(false || true); //true
console.log(false || false); //false
只要有一个true就为true
!
console.log(true); //true
console.log(!true); //false
关系运算符(比较运算符)
!= == === >= > < <=
console.log(3 > 5); //false
console.log(3 >= 3); //true
console.log(3 < 5); //true
console.log(2 == "2"); //true
console.log(2 === "2"); //false
console.log(null == undefined); //true
console.log(3 - "2"); //1
console.log(3 != 4); //true
console.log(1 == true); //true
console.log(2 == true); //false
console.log(0 == false); //true
复合运算符
+= -= *= /= %= =
+=(加赋值)
var num = 6;
num += 5; //num = num + 5
console.log(num); //11
-=(减赋值)
var num = 6;
num -= 5; //num = num - 5
console.log(num); //1
*=(乘赋值)
var num = 6;
num *= 5; //num = num * 5
console.log(num); //30
/=(除赋值)
var num = 6;
num /= 5; //num = num / 5
console.log(num); //1.2
%=(取余赋值)
var num = 6;
num %= 5; //num = num % 5
console.log(num); //1
一元运算符 ++ --
++
++前置 ++num
++后置 num++
--
--前置 --num
--后置 num--
++前置
var num = 10;
++num; //++前置等价于 num = num + 1
console.log(num); //11
++后置
var num = 10;
num++; //num = num + 1
console.log(num); //11
var num1 = 10; var num2 = 10;
var sum1 = ++num1 + 10; var sum2 = num2++ + 10;
console.log(sum1); //21 console.log(sum1); //20
console.log(num1); //11 console.log(num1); //11
++前置 先自加后运算
++后置 先运算后自加
注:例:num++ + 10
num + 10 先运算,num自身自加并非num + 10自加
var i = 10;
var j = 20;
var result = i++ + j;
console.log(result); //30
console.log(i); //11
var num = 10;
var sum = --num + 10;
console.log(sum); //19
var num = 10;
var sum = num-- + 10;
console.log(sum); //20
console.log(num); //9