javascript数据类型转换总结

数据类型分类
  • 复杂数据类型:对象类型
  • 简单(基本)数据类型:number string boolean null undefined
数据类型转换分类
  • 隐式转换
  • 显式(强制)转换
一.其他数据类型转number类型
  • 隐式转换
    1.0 . 隐式转换:只要是参与数学运算都会进行一个隐式类型转换  +   -   *  /  %
    1.1.  null对应number类型中的0,
    1.2. NaN 是属于number类型,表示数字的一种不正常状态,也就是说本来应该进行数学运算的值没有转换成number, js中特别的安排了一个这么一个NaN的值,有了这个值程序就不报错了
    1.3、NaN是属于number类型的一个值,代表数字的一种不正常状态,是非常特殊的,特殊到和任何值都不相等,即使自己也不相等,所以任何与NaN的数学运算,最最终的结果都是NaN


  • 显式转换:通过Number( )、ParseInt( )、ParseFloat( )
    Number( )

特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;
  如:
                 var num1 = Number(true); //true返回1  false返回0
                 var num2 = Number(undefined); //返回NaN
                 var num3 = Number("hello");  //返回NaN
                 var num4 = Number(" "); //如果是空字符串或是真空的字符串返回0
                 var num5 = Number(123); //返回123,如果是数字,简单返回
                 var num6 = Number("123abc");  //返回NaN
                 var num7 = Number("abc123");  //返回NaN

ParseInt()

特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入。
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.

例子:
        var num1 = parseInt(false); //无论true或是false都是NaN
        var num2 = parseInt(undefined); //NaN
        var num3 = parseInt("hello");  //返回N
        var num4 = parseInt(""); //如果是空字符串或是真空的字符串返回NaN
        var num5 = parseInt(123); //返回123,如果是数字,简单返回
        var num6 = parseInt("123a89bc");  //返回123
        var num7 = parseInt("abc123");  //返回NaN
        var num8 = parseInt('123.456'); //只能转换整数部分,小数部分直接舍掉
        var num9 = parseInt("80.56ab");

ParseFloat()

                例子:
                  var num1 = parseFloat(false); //无论true或是false都是NaN
                  var num2 = parseFloat(undefined); //NaN
                  var num3 = parseFloat("hello");  //返回N
                  var num4 = parseFloat(""); //如果是空字符串或是真空的字符串返回NaN
                  var num5 = parseFloat(123); //返回123,如果是数字,简单返回
                  var num6 = parseFloat("123a89bc");  //返回123
                  var num7 = parseFloat("abc123");  //返回NaN
                  var num8 = parseFloat('123.456'); //返回123.456
                  var num9 = parseFloat("80.56ab");//返回80.56
二.其他类型转换为String类型

隐式转换:当两个操作数做”+”运算时,如果表达式中任意一边有字符串,”+”,为字符串连接符

例子:
        var n = 200;
        n = n + "";
        console.log(n);//"200"
        console.log(typeof  n);//string

显式(强制)转换: toString( ) 和 String()

1.toString() : 除了null undefined这两个类型不能调用 .toString() ,其他任何数据都可以调用.toString();

2.String() : 任何数据都可以调用此函数;

例子:

     var a = undefined;
     a = String(a);
     console.log(a);//"undefined"
     console.log(typeof a);//string
三.其他类型转换为Boolean类型:
其它数据类型转换为boolean类型值为false只有这几种情况:0  NaN  ""  null   undefined   false

隐式转换: 在数据类型之前加“!!”即可

例子:
            var n = -200;
            var b = !!n;
            console.log(b);
            console.log(typeof b);

显式转换:调用Boolean():

例子
        console.log(Boolean(NaN));//false
        console.log(Boolean(0));//false
        console.log(Boolean(null));//false
        console.log(Boolean(undefined));//false
        console.log(Boolean("abc"));//false
                              **如若有错,请多多指教,谢谢广大网友**
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值