一、算术运算符(+ - * / %);
运算规则:
1.任何数值类型与字符串做相加操作,输出结果都为字符串的拼接。
2.任何数据类型与字符串做相加以外的操作,字符串转为数值
<1>如果字符串为数值字符串,可以直接转成数值。
<2>如果字符串有数值以外的字符,返回结果为NaN。
3.除了字符串以外的数据类型计算,先转为数值。
布尔值 true=>1 false=>0 null=>0 undefined=>NaN
二、赋值运算符
语法: var 变量名 = 值
类型1:普通赋值运算符 var 变量名 = 值
类型2:复合赋值运算符 给已经赋值的运算符做算术运算符符号的计算,可以 采用简写的方式如: var num = 5;
num = num + 1;
简化为: num +=1;
三、一元运算符(a++ 、++a、a- -、--a)
a++前置,先将a的值赋予a++,再对变量a+1;
++a后置,先将a的值+1,再将+1后的值赋予++a;
四、三元运算符1
语法: 表达式?表达式1:表达式2;
如果表达式成立,则运行表达式1;
如果表达式不成立,则运行表达式2;
五、逻辑运算符(且:&& 或|| 非!)
语法: 表达式1:表达式2
且:只有当表示都为true时,结果才为真。
短路操作:从第一个表达式开始检测,如果第一个为false,直接输出结果;
或:表达式有一个为true时,结果为真。
短路操作:表达式1为true时,直接输出结果。
非:表达式结果为布尔值,取反。
表达式为true,输出结果为false。
表达式为false,输出结果true。
六、关系运算符 (<、>、==、!=、===、!==)
注:关系运算的结果都会转为布尔值。
运算时遵循以下规则:
1.两个操作数都为数值,则直接比较。
2.有一个操作数为数值,另一个操作数,转为数值或者转为NaN
3.两个操作数都为字符串
<1>操作数都为单字符串,则以ASSIC码表数值比较。
<2>操作数为多字符串,则以第一位开始检索,直到运算出结果。
4.有一个为字符串,转为数值,NaN与任何数==为false,!=为true
5.布尔值的数值为1,false为0.
6.如果是恒等,则需要数据类型和值都相等才为true。