JavaScript中的类型转换

强制类型转换

字符转数值

①parseInt():从左向右检测,遇到数字转换,遇到非数字停止,第一位就是非数字,直接NaN,认为小数点是非数字。

        var str = "123";
        var num = parseInt(str);
        console.log(str);        //"123"
        console.log(typeof str);  //string
        console.log(num);         //123
        console.log(typeof num);  //number
        var str = "123hello";
        var num = parseInt(str);
        console.log(num);       //123
        var str = "hello465";
        var num = parseInt(str);
        console.log(num);       //NaN
        var str = "123.456万";
        var num = parseInt(str);
        console.log(num);       //123

②parseFloat():从左向右检测,遇到数字转换,遇到非数字停止,第一位就是非数字,直接NaN,可以识别小数点。

        var str = "123.456万";
        var num = parseFloat(str);
        console.log(num);       //123.456

③Math.round():严格转换,取最近的整数,不允许出现任何非数字,出现即为NaN。

        var str = "123.789";
        var num = Math.round(str);
        console.log(num);        //124
        var str = "-123.789";
        var num = Math.round(str);
        console.log(num);        //-124

④Number():严格转换,可以识别小数点,不允许出现任何非数字,出现即为NaN。

        var str = "123.7a89";
        var num = Number(str);
        console.log(num);      //NaN
        var str = "123.6";
        var num = Number(str);
        console.log(num);      //123.6

数值转字符

①num.toString():直接转换,相当于给数值添加一个引号。

         var num = 123;
         var str = num.toString();
         console.log(str);         //"123"
         console.log(typeof str);  //string

②num.toFixed(n);与toString一致,可以四舍五入保留n位小数。

         var num = 123.456;
         var str = num.toString(2);
         console.log(str);         //123.46

转Boolean类型

调用Boolean()函数来将a转换为布尔值
a = Boolean()函数
数字 — >布尔型 除0,NaN为flase,其余都为true
字符串—>布尔型 除空串,其余都是true()
Null—>布尔型 flase
undefined —>布尔型 flase
对象也会转换为true

隐式类型转换

①数字转字符:与一个空字符相加(+“”),会进行字符串的拼接。
②转数值:任何值做- * / 运算时都会自动转换为num
可以通过一个值-0 ,*1 ,/1将其转换为Number
③if的小括号里:任何类型最终都被转成布尔型。
数值:非0为true;
字符:非空为true;
三大特殊值undefined,null,NaN为false:都为false。
对象,数组,函数:都为true。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值