数据类型的转换

5.数据类型的转换

  • 将一种数据类型转成另一种数据类型

    • 强制转换(程序员通过某些方法实现转换)

    • 隐式转换(计算机自动转换为其他数据类型)

5.1强制转换成number类型

  • Number() parseInt() parseFloat()

5.1.1Number强制转换

  • Number(要转换的数据):将数据转换为Number类型 如果转换不了则是返回NaN

<script>
   
     /* 
            Number(要转换的数据):将数据转换为Number类型 如果转换不了则是返回NaN
        */
        var n1 = 10;
        var n2 = false;
        var n3 = "10";
        var x = "10px";
        var y = "";
        var n4 = undefined;
        var n5 = null;
​
        console.log(Number(n1));//10
        console.log(Number(n2));//true-1  false-0
        console.log(Number(n3));//10
        console.log(Number(x));//NaN
        console.log(Number(y));//" "-0  ""-0
​
        console.log(Number(n4));//NaN
        console.log(Number(n5));//0

==总结:Number方法可以转换的:string类型(纯数字、""-0 " "-0)、boolean类型(true-1,false-0)、null(0) 其他都是NaN==

5.1.2parseInt转换

  • parseInt(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始就不能转换则是NaN,结果取整(舍弃小数)

 <script>
        /* 
            parseInt(要转换的数据):针对string类型转换
                将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始就不能转换则是NaN,结果取整(舍弃小数)
        */
        console.log(parseInt("10"));//10
        console.log(parseInt("10px"));//10
        console.log(parseInt("10.5px"));//10
        console.log(parseInt("10.9px"));//10
        console.log(parseInt("px10.9px"));//NaN
    </script>

5.1.3parseFloat转换

  • parseFloat(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始不能转换则是NaN,结果保留小数

<script>
        /*
            parseFloat(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始不能转换则是NaN,结果保留小数
        */
        console.log(parseFloat("10"));//10
        console.log(parseFloat("10.5px"));//10.5
        console.log(parseFloat("px10.5px"));//NaN
        console.log(parseFloat("10.5"));//10.5
    </script>

5.2强制转换为boolean类型

  • Boolean(要转换的数据):将数据类型强制转换为boolean类型 结果为true或者是false

 <script>
        // number类型:非0即真  NaN也是false
        console.log(Boolean(1));//true
        console.log(Boolean(-10));//true
        console.log(Boolean(3.14));//true
        console.log(Boolean(0x7788));//true
        console.log(Boolean(0));//false
        console.log(Boolean(NaN));//false
​
        // string类型:有值即为真
        console.log(Boolean("10"));//true
        console.log(Boolean("098766*****"));//true
        console.log(Boolean(" "));//true
        console.log(Boolean(""));//false
​
        // null undefined
        console.log(Boolean(null));//false
        console.log(Boolean(undefined));//false
​
        /*
            总结:Boolean结果为false的有:0 NaN null undefined ""
        */
    </script>

==总结:Boolean结果为false的有:0 NaN null undefined ""==

5.3强制转换为string类型

  • String() 要转换的数据.toString()

5.3.1 String强制转换

  • String(要转换的数据):将数据转换string类型,直接是在数据外面加引号

<script>
        console.log(String(1));//"1"
        console.log(String(NaN));//"NaN"
        console.log(String(null));//"null"
        console.log(String(undefined));//"null"
        console.log(String(true));//"true"
</script>

5.3.2 toString强制转换

  • 要转换的数据.toString: 强制转换为string类型

 <script>
        /* 
            1.要转换的数据.toString
                强制转换为string类型
        */
        var n = 1;
        console.log(n, n.toString());//"1"
        var b = true;
        console.log(b.toString());//"true"
        // null和undefined没有toString这个方法的
        var x = undefined;
        console.log(x.toString());//报错
    </script>

5.4其他小方法

<script>
        // 1.toFixed(n):保留n位小数
        var n = 3.1415926;
        console.log(n.toFixed(4));//3.1416
        var n1 = 0.1 * 0.7;
        console.log(n1, n1.toFixed(2));
​
        // 2.isNaN   is not a number   是不是  不是一个数字   false是数字  true不是一个数字
        console.log(isNaN(3));//false
        console.log(isNaN("文字"));//true
​
        // isNaN 判断之前会先调用Number方法进行强制转换 再来进行判断  Number(true)
        console.log(isNaN(true));//false
        console.log(isNaN(""));//false
    </script>

6.运算符和表达式

  • 运算符:连接一个以上的操作符中间的符号

  • 表达式:由操作数和运算符组成的式子

10 + 20  var a = 10
​
+运算符   10 20操作数   表达式  10 + 20

运算符的分类:算术运算符 赋值运算符 逻辑运算符 比较运算符 三目运算符

表达式的分类:算术表达式 赋值表达式 逻辑表达式 比较表达式 三目表达式

​
     
   var a = 10;
        a++; 
        ++a; 
        console.log(a);
​
​
        var a = 10;
        var b = a++;   
        console.log(a,b); 
​
        var n = 10;
        var m = ++n; 
        console.log(n,m); 
​
​
​
        var a = 10;
        var b = a++ + ++a + a++;   
        var c = b++ + ++b + ++a;
        console.log(a,b,c);
​
​
        var a = 10;
        var b = ++a + a++ + a++ + ++a;  
        var c = ++b + a++ + b++ + ++b;
        console.log(a,b,c); 
这些大家可以试着算一算
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值