• 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;

  • 相关阅读:
    8年开发大佬告诉你:看懂英文文档,每天只需要10分钟做这件事……
    扫雷与算法:如何随机化的布雷(二)之洗牌算法
    推荐一个项目:数据结构和算法必知必会的 50 个代码实现
    你知道什么是漂亮排序法吗?哦,知道,不就是臭皮匠排序法嘛!
    什么是漂亮排序算法:一顿操作很装逼,一看性能二点七
    什么是哈希洪水攻击(HashFlooding Attack)?
    五分钟了解一下什么是「贪心算法 」
    高考前一天,六月六号,加一!
    毕业十年后,我忍不住出了一份程序员的高考试卷
    二分查找算法详解
  • 原文地址:https://www.cnblogs.com/hyh888/p/11256381.html
Copyright © 2020-2023  润新知