js运算符

1.【算术运算符】
+ 加 【重点】
--数字相加 例:2+3
--字符串链接 例:"abc"+"jd" //输出"abcjd"
注意:如果把数字与字符串相加,结果将成为字符串。

- 减
* 乘
/ 除
% 取模(取余) 【重点】

++ 累加(自加)
x++: 先处理其他运算,再自己加1。 例如:var z,x=2;z=x++; //等同于①z=x ②x=x+1
++y:先自己加1,再处理其他运算。 例如:var z,y=3;z=++y; //等同于①y=y+1 ②z=y

-- 递减(自减)
j--: 先处理其他运算,再自己减少1。 例如:var z,j=2;z=j--; //等同于①z=j ②j=j-1
--q:先自己减1,再处理其他运算。 例如:var z,q=3;z=--q; //等同于①q=q-1 ②z=q

2.【赋值运算符】
var x=10,y=5;
=     x=y //x=5
+=   x+=y x=x+y //x=15
-=    x-=y x=x-y //x=5
*=    x*=y x=x*y //x=50
/=    x/=y x=x/y //x=2
%=  x%=y x=x%y //x=0

3.【比较运算符】
> 大于
< 小于
>= 大于等于
<= 小于等于
== 判断值相等 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。
!= 判断值不相等 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。
=== 绝对等于(值和类型均相等) 只有在相同类型下,才会比较其值。 例:var x=15;x===15;//true x==="15"; //false
!== 绝对不等于(值或类型不相等) 只有在相同类型下,才会比较其值。 例:var y=5;y!==5;//false y!=='5';//true

4.【类型转换】
--显式转换 //人工转,强制转
1.其它类型转数字
Number(需要转换的东西); //转成一个数字
如果是布尔值,true和false分别被转换为1和0
如果是数字值,返回本身。
如果是null,返回0.
如果是undefined,返回NaN。
如果是字符串,遵循以下规则:
如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
如果是空字符串,将其转换为0
如果字符串中包含非以上格式,则将其转换为NaN
parseInt(需要转换的东西); //转成一个整型数字
parseInt 输出整数条件:1.字符串 2.数字开头。3.输出数字部分。 其他类型都输出为NaN
parseFloat(需要转换的东西);//转成一个浮点型数字
parseFloat 输出浮点型条件:1.字符串 2.数字开头3.输出第一个小数点的数字部分。 其他类型都输出为NaN
NaN 是一个非数字的数字. NaN 与所有值都不相等,包括它自己。
2.其它类型转字符串
3+"" //"3"
String(需要转换的东西);
需要转换的东西.toString();
3.其它类型转布尔型
Boolean(需要转换的东西);
以下值会被转换为false:false、""、0、NaN、null、undefined,其余任何值都会被转换为true。
--隐式转换
1.相加的时候,如果有字符串,则会把其它类型的转成字符串相连
5 + "4" //"54"
2.除了相加,其余算术运算的时候 默认会把字符串 转成 数字
5 < "4" //false
5 - "1"
3.算术运算中,把 null,false等其它类型 转成数字
0 == false //true

5.【与或非】
&& 逻辑与:找假。
左右两个表达式都为真,就是真。
只要任意一个假,就是假。
表达式的值,等于真的值,或假的值。
真1 && 真2 => 真
假1 && 真1 =>假
真1 && 假1 =>假
假1 && 假2 =>假

<script type="text/javascript">
    console.log(3 && 4 )  //4
    console.log(true && 0)//0
    console.log(3 && "abc")//abc
    console.log(3 && null )//null
    console.log(null && 3)//null
</script>

|| 逻辑或: 找真。
左右两个表达式 只要有一个为真 就是真。
真1 || 真2 =>真
假1 || 真1 =>真
真1 || 假1 =>真
假1 || 假2 =>假
true || 0 => true
! 逻辑非:
取反

6.【条件语句】(分支结构)
--三目运算符:条件?条件成立执行:条件不成立执行

3<2?alert("正确"):alert("不正确");
5 > 3 ? alert("5大于3") : alert("5小3") ;
A.if(true)alert("Is's true!");
建议写法:
if(true){

alert("Is's true!");
}
if(true){
  console.log("true");
  alert("Is's true!");
}else {
  console.log("false");
  alert("Is's false!");
}
if(a>60){
    console.log("true");
    alert("Is's true!");
}else if(条件){

}else if(条件){

}else if(条件){

}
switch(n)
{
    case 1:
    执行代码块 1
    break;
    case 2:
    执行代码块 2
    break;
    default:
    n 与 case 1 和 case 2 不同时执行的代码
}

 

原文地址:https://www.cnblogs.com/lhl66/p/7192605.html