1.取余: 比如说3 % -8 ,结果是?同时试验一下(-3 % -8),(-3 % 8)
最后的符号与3的符号相同。
2.除法: 3/8 = 0.375; Math.floor(3/8) = 0; Math.ceil(3/8) = 1
3.自增自减:浮点支持,布尔型也支持(自增自减会把false转为0,true转为1)
字符串不支持,null支持,例:var n = 1; alert(n++);弹出的1,n值变为2;
var m = 1;alert(++m),弹出与结果都是2
4.字符串连接符:“+”;
5.赋值运算符 =,+=,-=,*=,/=,%=,没有.=(PHP?),
js 浮点数的加法,是可能有误差的,比如 (0.1+0.2 == 0.3),结果应该是false吧!
6.比较运算符:2个等号只比较值,而3个等号表示全等于,还比较类型;console.log(0 ==null)试一下吧~;NaN不能和自身比较!!!结果为布尔类型
7.逻辑运算符:
&& ,|| , | PS:不能用and ,or, not
与:如果第一个表达式为false,整个结果为false,不会运行第二个表达式
或:如果第一个表达式为true,整个结果为true,把第二个表达式短路
例:var i=1,j=1; if (i-- || ++j) 打印一下j的值
8.三元运算符:exp1 ? exp2:exp3;exp1为真执行exp2,否则执行exp3
9.逗号表达式:var z =(n=1,m=2,p=3) ,结果z的值为表达式的最后一个的值即3
10.void运算符:没有返回值;var z=void(n=1, m=2,p=3); 结果z的值为undefined
11.typeof运算符:返回变量的类型;null,[1,2,3]结果竟然是相同的?!undefined是不一样的
12.运算符优先级: