----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("错"); //错