JS中的数据类型转换


数据类型转换

数据类型转换:把一种数据类型转化成另外一种数据类型
1)隐式数据类型转化:静悄悄地转化,查觉不到
2)强制数据类型转化:需要我们写代码进行转化


提示:以下是本篇文章正文内容,下面案例可供参考

一、转数值

1.强制数据类型转化之Number()

语法:Number(你要转化的数据) 把一个非数值类型的数据,转化成数值类型的数据
返回值:转换好的数据

注意:
1)把内容看作一个整体,有些数据可以转化成功,有些数据,不能转化成功
2)不能转化成功的,结果就是NaN

2.强制数据类型转化之parseInt()

将数据尝试转化成整数。

注意:
1)把你要转化的内容是一位一位向后看
2)如果第1位不是数字,后面都不再看了,直接给出NaN
3)如果第一位可以转,再看第二位,直接到遇到小数点或非数字

3.强制数据类型转化之parseFloat()

将数据尝试转化成小数。

注意:
和parseInt规则是一样的,只不过多一个小数点

    <script>
        //  1,Number
        var str1 = "110abc";
        console.log(str1);
        console.log(typeof str1);
        let res = Number(str1)
        console.log(res);
        console.log(typeof res);

        console.log("-----------------------------");

        // 2,parseInt()
        let str2 = "36a66.9425abc"
        console.log(str2);
        console.log(typeof str2);
        let res2 = parseInt(str2)
        console.log(res2);
        console.log(typeof res2);
        
        console.log("-----------------------------");

        let str3 = "111.32abc3"
        console.log(str3);
        console.log(typeof str3);
        let res3 = parseFloat(str3)
        console.log(res3);
        console.log(typeof res3);

        console.log("-----------------------------");

        var str4 = "100";
        var res4 = +str4;  // +尝试把一个数据,变成number数据类型
        console.log(res4);
        console.log(typeof res4);
        
        console.log("-----------------------------");

        var str5 = "100";
        var res5 = -str5;  // +尝试把一个数据,变成number数据类型
        console.log(res5);
        console.log(typeof res5);
     </script>

二、转字符串

1.String()

语法:String(你要转化的数据)
返回值:是转化好的数据
特点:任何的数据类型都可以转化

    <script>
        //  1)String() 
        var n1 = 110;
        var b1 = true;// boolean
        var a = null
        var m; // m的值是undeinfed   undefiend的数据类型是undefiend
        console.log(String(n1));  // 110是字符串的110
        console.log(typeof String(n1));
        console.log(String(b1)); // true是字符串的true
        console.log(typeof String(b1));
        console.log(String(a)); // null是字符串的null
        console.log(typeof String(a));
        console.log(String(m)); // undefiend是字符串的undefiend
        console.log(typeof String(m));
    </script>

2.toString()

语法:你要转化的数据.toString()
返回值:是转化好的数据
特点:null和undefined不能转化

    <script>
        //  2)toString()
        var n1 = 666;
        var b2 = true;
        var a;
        var m = null;
        console.log(n1.toString());
        console.log(typeof n1.toString());
        console.log(b2.toString());
        console.log(typeof b2.toString());

        // Cannot read property 'toString' of undefined
        console.log(a.toString()); // und 上没有toString属性
        console.log(typeof a.toString());
        console.log(m.toString());
        console.log(typeof m.toString());
    </script>

3.加法运算

在JS里面,加号(+)有三层含义
A)数学中的运算 1+1 = 2
只有两边都是数字,或布尔值,会进行数学运算
B)字符串拼接
只要+两边,有一个操作数是字符串数据类型,就会进行字符串拼接
C)把一个非数字转成数字

   <script>
        var a = 1;
        var b = 2;
        // =叫赋值运算符,先看后面,把后面的值,赋值给前面的变量
        // a+b  + 表示数学中+
        var c = a + b;
        console.log(c);
        console.log( typeof c);

        var f1 = true;
        var f2 = false;
        // true转成1  false转0
        var f3 = f1+f2; // +在运算符时,会把布尔数据类型转化成Number数据类型
        console.log(f3);
        console.log( typeof f3);
    </script>
    <script>
       var str1 = "hello";
        // var str2 = " world";
        var str2 = 110;  
        // + 两边的操作数是字符串数据类型
        // 此时+ 就叫字符串拼接运算符

        // +一边是number  一边是字符串
        // JS语言规定:运算符两边的操作数的数据类型要一致
        // 如果不一致,会发生隐式类型转化
        // 一边的数据类型会转化成另一边的数据类型
        // 就会把number的110转化成string的110,只有转化完后,才能保证两侧的数据类型一致
        var str3 = str1 + str2;  // 会发生隐式类型转化
        console.log(str3);      
    </script>
    <script>
        let str1 = "110";
        // +就表示把一个字符串尝试转化成number
        console.log(+str1);
        console.log(typeof +str1);
    </script>

三、转布尔值

把其它数据类型转成布尔数据类型。

1.Boolean()

语法:Boolean(你要转换的数据)
返回值:转换好的数据
特点:
在JS中,有5个数据会转成false,其它都转成true
=> 0
=> “” 空字符串 空串
=> NaN
=> undefined
=> null
其它的所有的数据都会转化成true。

    <script>
        console.log(Boolean(0));
        console.log(Boolean("")); // "" 叫空字符串 "   "不叫空字符串
        console.log(Boolean(" ")); // "" 叫空字符串 "   "不叫空字符串
        console.log(Boolean(NaN)); 
        console.log(Boolean(undefined)); 
        console.log(Boolean(null)); 
    </script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值