数据类型转换的四大核心标准

数据类型转换的四大核心标准

把其他数据类型转换为—类型,首先要注意的是,显式转换和隐式转换,即我主动转换和被动转换

转换为number类型

  1. 显式转换
    a) Number([val])
    b) parseInt/parseFloat([val])
  2. 隐式转换(浏览器内部默认要先转换为Number在进行计算的)
    a) isNaN([val])
    b) 数学运算 出现“+”这种,会默认把加号两边的类型转换为数据类型然后进行运算。但是有一种特殊情况(+在出现字符串的情况下,不是数学运算,而是字符串拼接)
    c) 在进行==比较的时候,有些值需要转换为数字再进行比较。
    注意:只要出现非有效数字字符,结果都是NaN
    console.log(Number(‘10px’)) 结果为NaN
    console.log(Number(true)) 结果为1
    console.log(Number(false)) 结果为0
    console.log(Number(null)) 结果为0
    console.log(Number(undefined)) 结果为NaN

把其他数据类型转换为字符串

  1. 显式转换
    a) toString()
    b) String()
  2. 隐式转换
    a) 加号运算的时候,如果某一边出现字符串,则是字符串拼接
    b) 把对象转换为数字,需要先toString()转换为字符串,再去转换为数字
    c) 基于alert,comfirm,promt,document.write…这些方式输出内容,都是先把内容转换为字符串,然后再输出的
    把其他类型转换为字符串,一般都是直接“”包起来,只有{}普通对象调取的object是调取的Object.prototype.toString,不是转换为字符串,而是检测数据类型,返回的结果是“[object,object]”

把其他数据类型转换为布尔

  1. 显式转换
    a) !转换为布尔值后取反
    b) !!转换为布尔类型
    c) Boolean([val])
  2. 隐式转换
    a) 在循环或者条件判断中,条件处理的结果就是布尔类型
    b) 。。。。

规则:只有‘0’,null, NaN,undefined,空字符串这五个值会变成布尔类型的FALSE,其余的都是TRUE

parseInt机制:从字符串左侧第一个字符开始,查找有效数字的字符(遇到非有效数字字符停止查找,不论后面是否还有数字字符,都不再找了),把找到的有效数字字符转换为数字,如果一个都没找到结果就是NaN(parseFloat比他多识别一个小数点)

{}+0
左边的{}认为是一个代码块,不参与运算
运算的处理结果是+00
({}+0)参与到数学运算之中,“[object,object]”
0+{}
这个是数学运算
处理的结果是“0[object,object]”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白程序員

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值