JavaScript数据类型转换&运算符

在这里插入图片描述

数据类型转换

  • 数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字等

其他数据类型转成数值

  1. Number(变量)

    可以把一个变量强制转换成数值类型

    var num1 = 'aaaaa';
    var num2 = Number(num1);
    console.log(typeof(num2));  // number
    

    可以转换小数,会保留小数

    可以转换布尔值

    console.log(Number(true)); // 1
    console.log(Number(false));// 0 
    

    遇到不可转换的都会返回 NaN

    console.log(num2);// NaN 
    
  2. parseInt(变量)

    从第一位开始检查,是数字就转换,知道一个不是数字的内容

    开头就不是数字,那么直接返回 NaN

    不认识小数点,只能保留整数

     var test = '123abc';
    
    console.log(parseInt(test));
    // 结果:123  这个abc 就是普通字符串 所以没法转成合法的数
    
     console.log(parseInt(test,16));
    // 告诉转换器 123abc是一个16进制的数字 所以最终结果是转成10进制以后输出
    
    console.log(parseInt('哈哈'));// NaN
    
    var test = true
    var test1 = false
    console.log(parseInt(test));//NaN
    console.log(parseInt(test1));// NaN
    var test;
    console.log(parseInt(test));// NaN
    console.log(parseInt(null));// NaN
    
  3. parseFloat(变量)

    从第一位开始检查,是数字就转换,知道一个不是数字的内容

    开头就不是数字,那么直接返回 NaN

    认识一次小数点

    var test = '123.45';
    console.log(parseFloat(test));// 123.45
    console.log(parseFloat('123.45abc'));// 123.45
    
    var test;
    console.log(parseFloat(test));// NaN
    
  4. 除了加法以外的数学运算

    运算符两边都是可运算数字才行

    如果运算符任何一遍不是一个可运算数字,那么就会返回 NaN

    加法不可以用

其他数据类型转成字符串

  1. 变量.toString()

    有一些数据类型不能使用 toString() 方法,比如 undefinednull

    console.log(typeof  100e5.toString());// string
    var test1 = true
     console.log(typeof test1.toString());// string
    var test2 = false
     console.log(typeof test2.toString());// string
    var haha;
    console.log(typeof haha.toString());// 报错
    
  2. String(变量)

    所有数据类型都可以

    var test = 100;
    console.log(typeof String(test));// string
    
  3. 使用加法运算

    在 JS 里面,+ 由两个含义

    字符串拼接: 只要 + 任意一边是字符串,就会进行字符串拼接

    加法运算:只有 + 两边都是数字的时候,才会进行数学运算

    console.log(typeof(1+1+'abc')) // 只要两边有一个字符串 那么就是拼接 
            // 从左往右运算  2+'abc'  2abc
    console.log(typeof('abc'+1+1)) // 开始见到字符串 后边所有都是拼接
            // abc11
    

其他数据类型转成布尔

  1. Boolean(变量)

    在 JS 中,只有 ''0nullundefinedNaN,这些是 false

    其余都是 true

运算符

  • 就是在代码里面进行运算的时候使用的符号,不光只是数学运算,我们在 js 里面还有很多的运算方式

数学运算符

  1. +

    只有符号两边都是数字的时候才会进行加法运算

    只要符号任意一边是字符串类型,就会进行字符串拼接

    console.log(true+false)
    // 隐式转换  true 1  false 0  结果 1
    
  2. -

    会执行减法运算

    会自动把两边都转换成数字进行运算

    console.log(100-123) // -23
    console.log('abc'-123)// NaN
    console.log(true-false) //1
    
  3. *

    会执行乘法运算

    会自动把两边都转换成数字进行运算

    console.log(2**3) // 8(平方)
    
  4. /

    会执行除法运算

    会自动把两边都转换成数字进行运算

    console.log(100/0) // Infinity 
    
  5. %

    会执行取余运算

    会自动把两边都转换成数字进行运算

赋值运算符

  1. =

    就是把 = 右边的赋值给等号左边的变量名

    var num = 100

    就是把 100 赋值给 num 变量

    那么 num 变量的值就是 100

  2. +=

    var a = 10;
    a += 10;
    console.log(a); //=> 20
    

    a += 10 等价于 a = a + 10

  3. -=

    var a = 10;

    a -= 10;
    console.log(a); //=> 0
    

    a -= 10 等价于 a = a - 10

  4. *=

    var a = 10;
    a *= 10;
    console.log(a); //=> 100
    

    a *= 10 等价于 a = a * 10

  5. /+

    var a = 10;
    a /= 10;
    console.log(a); //=> 1
    

    a /= 10 等价于 a = a / 10

  6. %=

    var a = 10;
    a %= 10;
    console.log(a); //=> 0
    

    a %= 10 等价于 a = a % 10

比较运算符

  1. ==

    • 比较符号两边的值是否相等,不管数据类型 >

      1 == '1'

      两个的值是一样的,所以得到 true

  2. ===

    • 比较符号两边的值和数据类型是否都相等 >

      1 === '1'

      两个值虽然一样,但是因为数据类型不一样,所以得到 false

  3. !=

    • 比较符号两边的值是否不等 >

      1 != '1'

      因为两边的值是相等的,所以比较他们不等的时候得到 false

  4. !==

    • 比较符号两边的数据类型和值是否不等 >

      1 !== '1'

      因为两边的数据类型确实不一样,所以得到 true

  5. >=

    • 比较左边的值是否

      大于或等于

      右边的值 >

      1 >= 1 结果是 true

      1 >= 0 结果是 true

      1 >= 2 结果是 false

  6. <=

    • 比较左边的值是否

      小于或等于

      右边的值 >

      1 <= 2 结果是 true

      1 <= 1 结果是 true

      1 <= 0 结果是 false

  7. >

    • 比较左边的值是否

      大于

      右边的值 >

      1 > 0 结果是 true

      1 > 1 结果是 false

      1 > 2 结果是 false

  8. <

    • 比较左边的值是否

      小于

      右边的值 >

      1 < 2 结果是 true

      1 < 1 结果是 false

      1 < 0 结果是 false

逻辑运算符

  1. &&

    • 进行 且 的运算 >

      符号左边必须为 true 并且右边也是 true,才会返回 true

      只要有一边不是 true,那么就会返回 false

      true && true 结果是 true

      true && false 结果是 false

      false && true 结果是 false

      false && false 结果是 false

      var test5= true && true && true && false && true  // 遇到false 停止向右走
      
  2. ||

    • 进行 或 的运算 >

      符号的左边为 true 或者右边为 true,都会返回 true

      只有两边都是 false 的时候才会返回 false

      true || true 结果是 true

      true || false 结果是 true

      false || true 结果是 true

      false || false 结果是 false

  3. !

    • 进行 取反 运算 >

      本身是 true 的,会变成 false

      本身是 false 的,会变成 true

      !true 结果是 false

      !false 结果是 true

自增自减运算符(一元运算符)

  1. ++

    • 进行自增运算

    • 分成两种,前置++后置++

    • 前置++,会先把值自动 +1,在返回

      var a = 10;
      console.log(++a);
      // 会返回 11,并且把 a 的值变成 11
      
    • 后置++,会先把值返回,在自动+1

      var a = 10;
      console.log(a++);
      // 会返回 10,然后把 a 的值变成 11
      
  2. --

    • 进行自减运算
    • 分成两种,前置–后置–
    • ++ 运算符道理一样
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值