JS中的数据类型转换&运算符

一、数据类型的转换

  1. 为什么要转换?
    如果,用户或者计算机给了一个数据并不是我们当前程序所需的数据类型,那就需要转换;

  2. 数据类型的转换方法(2种)
    强制转换(主动转换)
    常用到的就是字符和数值之间的相互转换
    a、 字符转数值
    parseInt(要转换的数据或变量)
    - 从左向右依次检测,遇到第一个非数字的字符,停止转换
    - 忽略小数点后所有的内容,其实是将小数点识别成了非数字
    - 如果第一位就是非数字,结果则是NaN(not a number它是number类型的特殊值,表示非数字)
    - parseFloat(要转换的数据或变量)
    - 从左向右依次检测,遇到第一个非数字的字符,停止转换
    - 可以识别小数点(类似于java的浮点型)
    - 如果参数第一位是非数字,同样是NaN

    Math.round(要转换的数据或变量)
    - Math.round()不是专门做字符转数值的
    - 专门做取最近整数功能的,同时也可以实现转换
    - 严格转换:只要出现非数字(空格开头除外),那么就是NaN
    - Number(要转换的数据或变量)
    - Number是系统内置的构造函数,用来创建数值对象,也能实现转换–>严格转换:只要出现非数字,那么就是NaN

这么多方法可以实现,那么选择的标准是什么呢?—>按需选择

b、 数值转字符
- 数值变量.toString()或String(任何数据类型)—>直接转换,相当于加个引号,注: undefined和null不能使用 .toString
- 数值变量.toFixed(n)—>可以将要转换的数值转换为字符并保留n位小数(四舍五入)

隐式转换(被动转换)
- 情况(场景)和规则
1. 算数运算
- +号两边只要出现字符,结果必然为字符
- -*/%的结果必然是数值
2. 关系运算
- ><>=<=!===两边只要出现数值,那么另一边也会转成数值再进行比较

二、数据的运算符

  1. // --算数运算符–:±*/以及%取余
    +号特殊,当+号两边都是数值时,执行加法运算,但是只要有一遍是字符,+号的结果就成了拼接(拼接成字符)
    而减乘除 会自动将两边数据转换成数值再进行运算;
    var a = 7;
    var b = “2”;
    console.log(a+b); //两边不都是数值时,进行拼接–>72
    - 如果某个数据不能转成数值,会得到NaN

  2. // --关系运算符(比较运算符)-- >,<,>=,<=
    关系运算符也会发生引式类型转换,转成数值进行比较判断
    只要有一边是数值那就是数值的比较规则
    如果两边都是字符时,才是字符的比较规则–>逐位比较,一旦有了结果立马停止比较。
    // == 和 != 将变量转换为数值再进行比较;
    // === 和 !=== 不仅比较大小还会比较类型;
    在使用时:
    // ==会发生隐式类型转换,如果需要利用隐式类型转换,则使用==
    // ===不会发生隐式类型转换,如果不需要利用隐式类型转换,则使用===

  3. 逻辑运算符 - 主要操作布尔值

      • ||:两边只要出现true,结果就是true,必须都为false,结果才是false
      • &&:两边只要出现false,结果就是false,必须都为true,结果才是true
      • !:取反
  4. 赋值运算符
    -// 赋值运算符 += -= *= /= %= 介绍:略;
    例: a += 3; 意为 a = a + 3;后同

  5. 一元运算符(部分)

    • 自增
      • ++
      • 增加1
      • 前后之分
        • 前自增++n:先计算,后使用
        • 后自增n++:先使用,后计算
    • 自减
      • --
      • 减少1
      • 前后之分
        • 前自减--n:先计算,后使用
        • 后自减n--:先使用,后计算
          编程语言的运算符,数据类型以及转换都有很多相似之处,不再赘述;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值