算数运算符
/*
算数运算符(基础数字运算)
+ - * / %(求余数)
当不是数字之间的运算的时候
+号两边一旦有字符串,那么+号就不再是数学运算了,而是拼接,最终结果是字符串
-/*% 尽量将字符串转换成数字进行计算(隐式类型转换)
*/
-----------------
<script> var a="11";b=2;c="11a"; alert(a+b); // "112" string alert(a-b); // 9 number alert(a*b); // 22 number alert(a%b); // 1 number alert(a%c); // NaN "11a" 不能转换成 数字 </script>
赋值运算符
/*
2. 赋值运算符
+= -= *= /= %=
++ -- 两个都存在隐式类型转换,会全部转换为数字
++x x++
*/
x ++ = x, ++ x=x+1
5 ++ = 5, ++ 5=6
<script> var d=5;g=5; alert(++ d); // 6 alert(g ++); // 5 var x=5; var y= x ++; alert(x); // 2.再执行 x=x++ 5+1 6 alert(y); // 1.先执行 y=x =5 var a=5; var b=++ a; alert(a); // 1.先执行 a=++a,1+5,6 alert(b); // 2.再执行 b=a=6 </script>
逻辑运算符:与或非
<script> /* 1.针对布尔值 && 与 两边都为真,结果才为真,其他为假 || 或 两边都为假,结果才为假,其他都是真 ! 非 取反,真变假,假变真 */ // 2.当逻辑运算符,两边不一定是布尔值的时候 // && 遇到假就停,但是不会进行类型转换 // || 遇到真就停,但是不会进行类型转换 // ! 隐式类型转换,将后面的数据先转换为布尔值再取反 // // && 遇到假就停,但是不会进行类型转换 var a=0;b=22; alert(a&&b); // 遇到0停止 弹出0 alert(b&&a); // 遇到0停止 弹出0 // || 遇到真就停,但是不会进行类型转换 alert(a||b); // 遇到22挺,弹出22 alert(b||a); // 遇到22挺,弹出22 // ! 隐式类型转换,将后面的数据先转换为布尔值再取反 var x=!5;y=!0; // 5为真 取反为假;0为假取反为真 alert(x); // 弹出 false alert(y); // 弹出 true </script>