跳到主要内容

算数运算符

算数运算符

  • 运算符可以用来对一个或多个操作数进行运算

  • 算数运算符:

    • + - * / 加减乘除
    • ** 幂运算
    • % 模运算,两个数相除取余数
  • 注意:

    • 算数运算时,除了字符串的加法,其他运算的操作数是非数值时,都会转换为数值然后再运算
    • JS是一门弱类型语言,当进行运算时会通过自动的类型转换来完成运算
    a = 10 - "5" // 10 - 5
    a = 10 + true // 10 - 1
    a = 5 + null // 5 + 0
    a = 6 - undefined // 6 - NaN
  • 当任意一个值和字符串做加法时,它会先将其他值转换为字符串,然后再做拼串的操作,可以利用这一特点来完成类型转换

    • 可以通过为 任意类型 + 一个空串 的形式来将其转换为字符串,其原理和String()函数相同,但使用起来更加简洁
    a = 123 + "";
    console.log(typeof a, a); // string "123"

一元的加减

  • +正号
    • 不会改变数值的符号
  • -负号
    • 可以对数值进行符号位取反
  • 当我们对非数值类型进行正负运算时,会先将其转换为数值然后再运算
let a = "123";
a = +a; // a = Number(a)
console.log(typeof a, a); // number 123

自增和自减

  • ++ 自增运算符
    • ++ 使用后会使得原来的变量立刻增加1
    • 自增分为前自增(++a)和后自增(a++)
    • 无论是++a还是a++都会使原变量立刻增加1
    • 不同的是++aa++所返回的值不同
      • a++ 是自增前的值 旧值
      • ++a 是自增后的值 新值
  • -- 自减运算符
    • 参考自增
let a = 10;
a++;
console.log(a); // 11

let b = 10;
let c = b++;
console.log("b++ =", c); // b++ = 10

let d = 10;
let e = ++d;
console.log("++d =", e); // ++d = 11

let n = 5;
let result = n++ + ++n + n // 5 + 7 + 7
console.log(result); // 19