js运算符

发布于:2025-07-16 ⋅ 阅读:(19) ⋅ 点赞:(0)

运算符

@jarringslee

  • *赋值运算符 = += -= = /= 对变量进行赋值的运算符,用于简化代码。左边是容器,右边是值

  • 一元运算符

    • 正号+ 符号- 赋予数据正值、负值

    • 自增++ 自减–

      前置和后置:++i和i++:一般情况下习惯使用后置i++,两者在单独使用时没有区别。

      两者区别:在一行运算中,++i先给自身加完之后再参与运算,i++先参与运算之后在自加。

      let i = 1;
      console.log(++i + 1)  
      //i值先变为2再参与运算,输出值为3
      
      let i = 1;
      console.log(i++ + 1)  
      //i先参与运算,输出值为2,自身再自加变为2
      
      let i = 1;
      console.log(i++ + ++i + i)
      /* i++:先用后加
          值是 1,然后 i 变成 2
         ++i:先加后用
          i 从 2 变成 3,值是 3
         i:
          此时 i 已经是 3
          所以整个表达式就是:
         1 + 3 + 3 = 7
         因此打印结果是 7。  */
      
  • 比较运算符 < > <= >= == === != !== 比较结果为boolean类型的值(只有true或者false)

    • == 左右两边值是否相等
    • === 左右两边值和类型是否都相等(全等,常用
    • != 左右两边是否值不相等
    • !== 左右两边是否不全等
    • NaN不等于任何值,包括它自己

    隐式转换下,常常会有值相等但类型不相同的例子。

    在做 == 比较时会隐式转换,所以经常出现 “值看起来一样,但类型不同” 的情况,例如:

    '1' == 1        // true   字符串 '1' 被转成数字 1
    0 == false      // true   布尔值 false 被转成 0
    null == undefined // true  规范规定这对特殊值相等
    ' \n ' == 0     // true   空格字符串被转成 0
    

    === 不做任何类型转换,只要类型不同就直接返回 false

    '1' === 1       // false
    0 === false     // false
    null === undefined // false
    

    所以:

    • == 比较转换后的值
    • === 比较值 + 类型
    • 全等/不全等(=== / !==)先看类型,类型不同直接判 false / true。
    • 相等/非相等(== / !=)先转换再比较
    • 字符串比较按字典序(Unicode 码点),逐位比,直到发现大小不同的值,前缀相同则短的小。
    console.log(2 === '2');        // false  (类型不同)
    console.log(NaN === NaN);      // false  (NaN !== NaN)
    console.log(2 !== '2');        // true   (类型不同)
    console.log(2 != '2');         // false  (转换后相等)
    
    console.log('a' < 'b');        // true   (97 < 98)
    console.log('aa' < 'ab');      // true   (第二位 a < b)
    console.log('aa' < 'aac');     // true   (前缀相同,aa 更短)
    
  • 逻辑运算符 &&与(一假则假) ||或(一真则真) !非(真变假,假变真)

  • 运算符优先级

    优先级 运算符 顺序
    1 小括号 ()
    2 一元运算符 ++ -- !
    3 算术运算符 * / % 先于 + -
    4 关系运算符 > >= < <=
    5 相等运算符 == != === !==
    6 逻辑运算符 && 先于 ||
    7 赋值运算符 = += -= …
    8 逗号运算符 ,

网站公告

今日签到

点亮在社区的每一天
去签到