----JS中的运算符,操作数据值
运算符包括:一元运算符(一目运算符)、布尔运算符 、算术运算符、三元运算符、赋值运算符、位运算符
1》算术运算符
+
1.如果是字符串类型和数字类型相加,最后返回的结果是连接操作。数字类型会隐式转换为字符串类型。
-
1.如果是字符串类型和数字类型相减,最后返回的结果是正常相减。字符串类型会隐式转换为数字类型。
*
1.如果是字符串类型和数字类型相除,最后返回的结果是正常相除。字符串类型会隐式转换为数字类型。
/
1.如果是字符串类型和数字类型取摩,最后返回的结果是正常取摩。字符串类型会隐式转换为数字类型。
2》赋值运算符
=
+= : x+=y =è x=x+y;
*= : x*=y =è x=x*y;
/= : x/=y =è x=x/y;
%= : x%=y =è x=x%y;
3》比较运算符
== :只比较值
=== :比较值 还比较类型
!= : 非等 (不等于)
> :
< :
>= :
<= :
比较运算符返回结果;布尔
4》一元运算符(一目运算符)
i++:先赋值,再自增1
i—: 先赋值,再 自减1
++i:先自加一,再赋值
--i:先自减一,再赋值
5》二元运算符(二目运算符)逻辑运算符
&& (与) :只要有一个false ,则为false;当都为true才为true
格式:
表达式1 &&表达式2
1:如果表达式1和表达式2只要有一个为false则结果为false
2: 如果表达式1和表达式2都为true则结果为true
|| (或)
格式:
表达式1 || 表达式2
1:如果表达式1和表达式2都为false,则结果为false
2: 如果表达式1和表达式2只要有一个为true,则结果为true
! (非) :取反
6》三元运算符(三目运算符)
格式:
条件?执行结果1(true):执行结果2(false)
/***************** 算术运算符 + - * / % *******************************/ /* var num = 10; var str = 20; console.log(num+str); */ /* var num1 = 8; var num2 = 10; console.log(num1%num2) */ /* + var num = 10; //数字 var str = "20"; //字符串 var cont= num+str; //这里做了一个隐式的转换 把num转换为String console.log(typeof cont); //string 类型 console.log(cont); //1020 这里的加号就是连接符 */ /* - * / % var num = 10; //数字 var str = "20"; //字符串 var cont= num-str; //这里str做了一个隐式转换number console.log(typeof cont); //number//这里str做了一个隐式转换number console.log(cont); //-10 */ /***************** 赋值运算符 = += -= *= /= %= *******************************/ /* var num =1; alert(num); */ /*var num1 =1; var num2 =2; num1 += num2; //num1 = num1+num2; alert(num1); //结果为3 */ /*var num3 = 3; var num4 = 4; num3-=num4; alert(num3);//-1 */ /*var num5 = 5; var str6 = "6"; num5 += str6; //num5 = num5+str6; alert(num5); //56 */ /*var num7 = 7; var str8 = "8"; num7 -= str8; //num7 = num7-str8; alert(num7); //-1 */ /***************** 比较运算符 == === != > < >= <= *******************************/ /* var num1 = 3; var num2 = 4; document.write(num1 == num2);//false */ /*var num1 = 3; //数字类型 var num2 = "3"; //字符串类型 alert(num1 == num2); //true 类型不一致 //因为js是弱变量类型 所以结果是true */ /*var num1 = 3; //数字类型 var num2 = "3"; //字符串类型 alert(num1 === num2); //false 类型不一致 还需要比较类型 */ /* var num1 = 4; //数字类型 var num2 = "3"; //字符串类型 alert(num1 != num2); */ /* var num1 = 4; var num2 = 3; alert(num1 > num2); */ /**********************************一元运算符(一目运算符) *********************/ /* var num1 = 3; var num2 = 4; num1 = num2++; // num2先赋值给num1,再 num2自增1 document.write(num1+"------"+num2);//4---5 var str1 = 5; var str2 = 6; str2 = str1++; document.write(str1+"-----"+str2); //6 --- 5 */ /*var num1 = 3; var num2 = 4; num1 = num2--; // num2先赋值给num1,再 num2自增1 document.write(num1+"------"+num2); //4 ---- 3 */ /* var num1 = 5; var num2 = 8; num1 = ++ num2; //先自加一,再赋值 alert(num1+"---"+num2);//9---9 */ /****************************************二元运算符(二目运算符)逻辑运算符 *****************/ /* var bool = true; alert(!bool); //false */ /* var a = 10; var b = 20; var c = 30; alert(a>b && b >c) ;//false //10 >20 && 20>30 */ /* var a = 10; var b = 20; var c = 30; alert(a>b && b <c) ;//false var a = 10; var b = 20; var c = 30; alert(a<b && b > c) ;//false */ /*var a = 10; var b = 20; var c = 30; alert(a>b || b > c) ; //false */ /* var a = 10; var b = 20; var c = 30; alert(a<b || b > c) ; //表达式1为true,表达式2为false 整体为true */ /**********************************三元运算符(三目运算符) *****************/ var a = 10; var b = 20; //a<b?alert("对"):alert("错"); //对 a>b?alert("对"):alert("错"); //错