美文网首页
JS运算符

JS运算符

作者: Adder | 来源:发表于2020-12-19 16:08 被阅读0次

    number运算

    • 加减乘除
    • 余数 x%7
    • 指数 x ** 3
    • 自增自减 a++a--++a--a。变量在前面,表达式的值就是操作前的值。
    • 求值运算符 +x
    • 负数运算符 -x
      尽量少用自增和自减,容易记错

    string运算

    • 连接运算'123'+'456'='123456'

    比较运算符

    较为特殊的几个

    • 不要使用==,换成 ===。基本类型看值是否相等,对象看地址是否相等
    [] === [] // true
    {} === {} // true
    NaN !== NaN // true
    

    布尔运算符

    • 或且非 ||&&
    • 短路逻辑判断 &&防御性编程
      相当于新版本的?.真值才往后执行
    if (n) {
    return n || 100;
    }
    // 优化
    if(n = 100) {
    return n;
    }
    

    二进制运算符

    • ||、与&、否~
    (ob1111 || ob0100).toString(2)
    // 1111
    
    • 异或^
      两位相同为0,否则为1
    • 左移右移>><<
      -头部补零额右移运算符>>>

    与运算符判断奇,偶

    基于二进制运算
    ob0001 & 3 = 1 // 1 奇数、0 偶数

    取整

    基于二进制运算

    console.log(~~ 1.23) // 1
    console.log(1.23 >> 0) // 1
    console.log(1.23 << 0) // 1
    console.log(1.23 >>> 0) //1
    console.log(1.23 | 0) // 1 与0 做或运算
    

    ^异或,交换 两个变量a, b

    相同为0,否则为1

    var a= 5; // 0101
    var b=8; // 1000
    a = a^b;
    b = b^a;
    a = a^b;
    console.log(a, b)// 8, 5
    

    void运算符

    void的值总是undefined

    逗号运算符

    let a = (1,2,3,4)
    a 的值就是5;
    let f = (x) => {
      console.log('print me')
      return x+3
    }
    // 优化
    let f = x => (console.log('print me', x+3)) //默认会将最后一个逗号后的作为返回值
    

    不同运算符的优先级比较复杂, 因此只要记住,圆括号的优先级更高就可以了;相同运算符是自左至右;相同的赋值a=b=c=7自右向左

    相关文章

      网友评论

          本文标题:JS运算符

          本文链接:https://www.haomeiwen.com/subject/pvhcnktx.html