js的一些运算符知识

一.算数运算符

+:数字之间的运算,以及字符串之间的链接     

只要 + 两边有任何一边是字符串的时候,那么就进行字符串的链接

算数运算符有哪些呢?

+ - * / %  ++ --

++ /--  符号的用法:

作为前缀的时候先自增/自减在使用   

作为后缀的时候先使用在自增/自减 

优先级 :先 * / % 再 + - 如果想提升优先级 使用()

四舍五入解决误差的方法:.toFixed(n)   n表示保留几位小数
例如:
var change = 2 - 1.6;
change = change.toFixed(2);

二.关系运算符

> < >= <= == != === !== 

关系运算最后的结果一定是boolean类型

==  判断两个数据是否相等 值

!=  不等于, 判断两个数据是否不相等 值

===  判断数值和类型是否完全相等

!==  判断数值和类型是否完全不相等

1.string 和 number 判断大小时, 浏览器会将字符串(string)隐式转换为number类型   用Number()函数

2.任何一个数据与NaN进行比较时,结果一定都是false 30a会被转换为NaN

例如:

console.log('30a'>5); // false   NaN > 5

3.string和string之间判断大小 根据每个字符的unicode码作比较

三.赋值运算符

+=  -=  *=  /=  %=  &=  |=  ^=

语法: a+=b 和 a = a + b 相同的效果

单目运算符: ++  --  !

双目运算符: + - * / % &&  || ^ & | > <

三目运算符:

需要三个操作数/表达式 表达式1 ? 表达式2 : 表达式3;

表达式1:运算结果应该为boolean类型

表达式1 = true 执行表达式2

表达式1 = false 执行表达式3

允许嵌套

四.逻辑运算符

作用:多个条件之间的判断关系

&& :多个条件都必须同时满足  见false则false

||: 满足其中一个条件即可   见true则true

 ! 取反

短路与:只要第一个条件 为假的话,整个表达式的结果都为假,并且不会去判断第二个条件

短路或:只要第一个条件为真的话,整个表达式结果就为真,并且不会去判断第二个条件时

五.位运算符

只能做数字的运算,且要将数字转换为二进制,再做运算

& :(按位与) 将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0

作用:判断奇偶性,比模的效率要高

判断数字与 1 做按位与 ,最后的一位 1为奇数 0为偶数

例如:

console.log( (10 & 1) === 0 ); true为偶数

console.log( (9 & 1) === 0 ); false为奇数

10: 1010      11: 1011

    1 : 0001      1 : 0001

     ---------          --------

       0000            0001

       偶数             奇数

| :(按位或) 将两边的操作数转换成为二进制,比较每位上的数字,两个数字中有一个是1,则该位的结果就是1 ,否则 0

场合(作用):向下取整 位运算一定会将数据转换为二进制,而小数会被转换为整数

例如:

var num3 = 6.5;

console.log(num3 | 0);

^:( 异或)将两边的数字转换为二进制 进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则0

作用:交换两个数的值

例如:

交换num1 和num2的值

num1 = num1 ^ num2;——简写——num1 ^= num2;

num2 = num2 ^ num1;——简写——num2 ^= num1;

num1 = num1 ^ num2;——简写——num1 ^= num2;

原文地址:https://www.cnblogs.com/hyh888/p/11256381.html