JavaScript类型转换

1、什么是类型转换?

类型转换:将一种数据类型强制转换为其他数据类型。

2、将其他数据类型转换为String:

  • toString()方法,该方法不会影响原变量会将转换的结果返回,null和undefined这两个类型没有toString()方法;
  • String()函数,
    let a=123;
    let b=String(a);
    typeof b; // String
    使用该函数时,对于Number和Boolean实际调用的就是toString(),但是该函数可以直接操作null和undefined,可以将其强制转换为string类型。

3、将其他数据类型转换为Number:

  • 使用Number()函数,用法和String()函数一样。其中纯数字的字符串转数字时,直接转换;若字符串中有非数字的内容,则转换为NaN;若字符串为空,则转换为0;布尔转数字时,true为1,false为0;NULL转数字时,转为0;undefined转数字时,转为NaN;
    let a="123";
    Number(a); // 123
    let b="123px";
    Number(b); // 123
    let c="123a123";
    Number(c); // 123
    let d="";
    Number(d); // 0
    let e=null;
    Number(e); // 0
    let f1=undefined;
    Number(f1); // NaN
    var f2;
    Number(f2); // NaN
    let g1=true;
    Number(g1); // 1
    let g2=false;
    Number(g2); // 0

     

  • 专门将字符串转换为number的两个函数,parseInt()将字符串转换为整数,将字符串中有效的整数内容取出来转换为整数、parseFloat()将字符串转换为浮点数;
    let a1="123";
    parseInt(a1); // 123
    parseFloat(a1); // 123
    let a2="123px";
    parseInt(a2); // 123
    parseFloat(a2); // 123
    let a3="px";
    parseInt(a3); // NaN
    parseFloat(a3); // NaN
    let a4="123.123aaa";
    parseInt(a4); // 123
    parseFloat(a4); // 123.123

     

  • 若对非String类型使用上述两个函数,会自动先转换为String类型再按照String类型处理。

4、将其他数据类型转换为Boolean:

  • 使用Boolean()函数:数字转布尔,除了0和NaN,其余都转换为true;
  • 字符串转布尔,除了空串(空串转为false),其余都转换为true;
  • null和undefined转换后都会转换为false;
  • 对象会转换为true,空对象也会转换为true。

在js中表示16进制,需要以0x开头;表示8进制的数,需要以0开头;表示2进制的数,需要以0b开头,但不是所有浏览器都支持,像“010"这种字符串有的浏览器会转换成十进制,有的会转换成八进制,可以在parseInt中使用第二个参数来指定进制,如parseInt(a,8)。


注:个人整理,若有错误,欢迎批评指正,期待共同进步。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值