js中的强制转换

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

方法一:

调用被转换类型的toString()方法

<script>
    var a=123;
    a=a.toString();
    console.log(typeof a);
    console.log(a);
</script>

大家注意,a.toString()不会影响到原变量,不过该方法是有返回结果的,所以要用变量去接收。

另外需要注意:这个方法,不能转换基本数据类型中的null和undefined,会报错的!因为他们都没有toString()方法。

那怎么解决这个问题呢?看第二个方法。

方法二:

调用String()函数,将转换的数据当作参数传给函数。

<script>
    var a=123;
    a=String(a);
    console.log(typeof a);
    console.log(a);
</script>

使用函数的方法时,字符串类型、数值类型、布尔类型他们其实也是调用的tostring()方法;而null和undefined都是用函数进行的强制转换,所以不会报错。

将其他类型转换为数值类型

方法一:

需注意,转换为数值类型没有toNumber()方法;只有Number()函数的方式。

<script>
    var a='123';
    a=Number(a);
    console.log(typeof a);
    console.log(a);
</script>

 还有几点也很重要:

1、如果字符串中含有非数字,则转换为NAN;

2、如果字符串说空字符串和多个空格组成的字符串,则转换为0;

3、true转换为1,false转换为0;

4、Null转换为0;

5、undefined转换为NAN。

方法二:

parseInt()和parseFloat()函数

<script>
    var a='123px';
    a=parseInt(a);
    console.log(typeof a);
    console.log(a);
</script>

这个函数有个好处,它可以返回整数,而不是像Number()函数一样,遇到非数字返回NAN;

如果px后有其他数字,后面的数字也不会去处理。

如果对非String使用parseInt()和parseFloat(),它会将其先转换为String,再转换。

可以在parseInt()中传递第二个参数,来指定数字的进制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萝卜头888

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

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

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

打赏作者

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

抵扣说明:

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

余额充值