算数运算符包括:+(加法) -(减法) *(乘法) %(取余) /(除法) ++(自增) --(自减)
+(加法) var a=4, b=5; console.log(a+b); var a='4', b=5; console.log(a+b);第一个结果为:9(同为number类型,做加法运算) 第二个结果为:45(a为string类型,b为number类型,a+b做拼接)
%(取余) 通常用来判断奇偶数以及提取一个数的个十百千位的数
++(自增) --(自减) 区别前自增(减)与后自增(减)
var a=3, b=4, sum=0; sum = a++ + ++b +b--; console.log(a,b,sum);此时a为:4 b为:4 sum为:13(3+5+5)
关系运算符包括:>(大于) <(小于) >=(大于等于) <=(小于等于) ==(等于) !=(不等于) =(恒等于) !(全不等于) 关系运算符得到的结果一定是boolean类型
var a='a', b=4, sum = a>b; console.log(sum);结果为false(字符串与数字比大小,将字符串隐式的通过Number()函数转换为数字再做比较 (如果未转换成功,结果为NaN,NaN与任何数字比较都是false))
var a='一', b='学', sum = a>b; console.log(sum);结果为false;(将汉字转换成Unicode码来进行比较,简而言之就是比较汉字的umicode码的大小)
var a='10', b=10; console.log(a==b); console.log(a===b);第一个结果为true:(仅比较内容,不比较类型) 第二个结果为false:(不仅比较内容,还比较类型)
逻辑运算符包括: 逻辑与 && 逻辑或 || 逻辑非!
var a=30, b=10; console.log(a>b&&a<20); console.log(a>b||a<20);第一个结果为:false(逻辑与 有一个为假就为假) 第二个结果为:true(逻辑或 有一个为真就为真)
位运算包括:按位与 & 按位或 | 异或^ >>(右移) <<(左移) 将数字转换为二进制数字进行计算 按位与 &
var a=3, b=1; var c=a&b; console.log(c);3: 0 1 1 1: 0 0 1
c: 0 0 1 结果为1;(与运算,都为真才为真,即都为1才为1) 通常用来判断奇偶性(比取余效率高)
按位或
var a=3, b=1; var c=a|b; console.log(c);3: 0 1 1 1: 0 0 1
c: 0 1 1 结果为3;(或运算,有一个为真就为真,即有一个为1就为1) 通常用来向下取整
异或^
var a=3, b=1; var c=a^b; console.log(c);3: 0 1 1 1: 0 0 1
c: 0 1 0 结果为2(有一个1的时候才为1) 通常用来交换a,b的值
