运算符也叫操作符

  • 通过运算符可以对一个或多个值进行运算,并获取运算结果
    * 比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串(string)的形式返回,number string boolean undefined object

算数运算符

1.当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算,任何值和NaN做运算都得NaN

  1. var result=1+true;//2
  2. var result=1+NaN;//NaN

2.任何值和字符串相加都会转换为字符串,并做拼串操作(减法乘法除法都是转为number)

  • 我们可以利用这一特点,来将一个任意的数据类型转换为String
  • 我们只需要为任意的数据类型 + 一个 “” 即可将其转换为String,这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
    1. result = true + "hello";//truehello
  1. var str = "锄禾日当午," +
  2. "汗滴禾下土," +
  3. "谁知盘中餐," +
  4. "粒粒皆辛苦";
  5. console.log(str)

image.png

任意的数据类型 + 一个 “” 即可将其转换为String

  1. var c = 123;
  2. c = c + "";//"123"

注意运算顺序区别

  1. result = 1 + 2 + "3"; //33
  2. result = "1" + 2 + 3; //123

3.任何值做- * /运算时都会自动转换为Number

  1. result = 100 - true;//99
  2. result = 100 - "1";//99
  3. result = 2 * 2;//4
  4. result = 2 * "8";//16
  5. result = 2 * undefined;//NaN
  6. result = 2 * null;//0
  7. result = 4 / 2;//2
  8. result = 3 / 2;//1.5

我们可以利用这一特点做隐式的类型转换,_可以通过为一个值 -0 _1 /1来将其转换为Number,原理和Number()函数一样,使用起来更加简单

  1. var d = "123";
  2. d = d - 0;
  3. console.log(typeof d)//number
  4. console.log(d)//123

4.% 取模运算(取余数)

  1. result = 9 % 3;//0
  2. result = 9 % 4;//1
  3. result = 9 % 5;//4
  4. console.log(typeof result)//number