js数据类型的转换&运算符

Day2
1、 数据类型的转换
a. 为什么要转换?
当用户、计算机或者其他程序给了一个数据,不是我们想要的数据类型,需要转换成当前程序所需的数据类型,再进行运算
b. 数据类型的转换方法

  1. 强制转换(显示转换、主动转换)
    字符转数值
    ‘parseInt(要转换的数据或者变量)’
    从左向右一次检测,遇到非数字字符,立即停止
    忽略小数点后所有的内容
    第一位是非数字,直接显示NaN(Not a number)
    ‘parseFloat(要转换的数据或者变量)’
    从左到右依次检测,遇到非数字字符,立即停止
    可以识别小数点
    第一位是非数字,直接显示NaN(Not a number)
    ‘Math.round(要转换的数据或者变量)
    Math.round不是专门做字符转数值的
    专门做取整的。取最近的整数,顺带可以实现转换
    严格转换,只要出现非数字,就显示NaN
    ‘Number(要转换的数据或者变量)’
    Number不是专门做字符转数值的
    系统内置的构造函数,用来创建数值对象。顺带实现转换
    严格转换,只要出现非数字,就是NaN
    - 严格转换:只要出现非数字,那么就是NaN
    - 如何选择?
    - 按需选择
    - 当需要转换时,观察当前程序的运行情况,以及要转换数据的实际情况,对应实际规则,选择方法
    - 不管选哪个,只要注意规则,都能灵活使用
    数值转字符
    ‘数值变量.tostring()’
    直接转换,相当于加了一个引号
    ‘数值变量.toFixed(n) ’
    保留n位小数
    其他转换类型:
    其他转布尔
    布尔转数值
    其他转字符
  2. 隐式转换(自动转换)
    a. 算数运算
    +号两边只要出现字符,结果必然为字符
    -*/%的结果必然是数值
    b. 关系运算
    ><>=<=!===两边只要出现数值,那么另一边也会转成数值,进行比较
    2、 数据的运算符
    a. 算数运算符
    ‘+’加号
    当加号两边是数值型数据时,时数学的加法运算
    任意一边是字符,就直接变成两个数据的拼接。
    -*/%
    正常的数学运算
    就算两边不是数值,也会默认转成数值,进行运算
    如果数据不能转成数值,会显示NaN
    b. 关系运算符 – 结果是布尔值
    ><>=<=
    只要一边出现数值,都是数值的比较规则
    如果都是字符,才是字符的比较规则:逐位比较,有结果即停止
    !===
    会发生隐式转换,或者只比较大小,不比较类型
    !=====
    不会发生隐式转换,不仅比较大小,还比较类型
    c. 逻辑运算符 – 主要操作布尔值

    -||:两边只要出现ture,结果就是true,两边都是false,结果是false

    &:两边只要出现false,结果就是false,必须都为true,才是true

    !:取反
    d. 赋值运算符
    ‘=’
    将等号右侧的数据, 存在左侧的变量中
    把右边的内容,放在左边的变量中
    如果左侧的变量原本就有值,会被覆盖
    ‘+=’‘-=’‘*=’‘/=’‘%=’
    先计算,再赋值(覆盖)
    参考‘+ - * / %’
    e、一元运算符
    自增
    ++
    增加1
    前后之分
    前自增‘++n’:先计算,后使用
    后自增‘n++’:先使用,后计算
    自减

    减少1
    前后之分
    前自减‘++n’:先计算,后使用
    后自减‘n++’:先使用,后计算
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提到了关于对象转换为数字的过程,对象转换为数字会经历对象->字符串->数字的过程。在这个过程中,会调用对象的toString()方法来将对象转换为字符串。所以在题目中的代码中,对象a通过重写toString()方法,使得每次调用a.toString()都会返回递增的数字。这样,在if语句中,a会被转换为数字进行比较。 引用\[2\]中提到了==的转换规则。对于==运算符,会先判断两边的类型是否相同,如果相同则比较值的大小。如果类型不同,则会进行类型转换转换规则包括将String类型转换为Number类型,将Boolean类型转换为Number类型,将Object类型转换为原始类型后再进行比较等。 综上所述,题目中的代码涉及了对象转换为数字和==运算符类型转换规则。这是JavaScript数据类型转换的一种练习题。 #### 引用[.reference_title] - *1* *3* [JS几种数据类型转换(内含练习题)](https://blog.csdn.net/BoZai_ya/article/details/117717329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [js中的类型转换,面试必考](https://blog.csdn.net/weixin_39838846/article/details/124136250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值