强制类型转换到Number

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7     /*
 8      将其他的数据类型转换为Number
 9      方法一
10      使用Number()函数
11      字符串转数字 
12      1.如果是纯数字的字符串,则直接将其转换
13      2.如果字符串中有非数字的内容,则转换为NaN
14      3.如果字符串是一个空串或是一个全是空格的串,则转换为0
15      布尔值转数字
16      true 转1
17      false 转0
18      null转数字  0
19      undefined转数字 NaN
20      
21      方法二
22      这种方式专门用来对付字符串
23      parseInt()把一个字符串转换为一个整数 
24      可以将字符串中有效的整数内容取出来 然后转换为整数
           parseInt("e23.43512 24f") 

              NaN 

           parseInt("23.43512 24f") 

              23
25      parseFloat()把一个字符串转换为小数
26      作用和parseInt()类似
27      如果对于非String使用该函数,会将其先转换为String然后再将其操作
28      
29     */
30    var a="123";
31    var b=Number(a);
32    var c="123px";
33    c=parseInt(c);
34    console.log(typeof b);
35    console.log(c);
36     </script>
37     </head>
38     <body style="height: 5000px;">
39     </body>
40 </html>

 

0x 开头16进制

0 开头 8进制

0b 开头 2进制

a="070";

a=parseInt(a,10);转换为10进制

可以在parseInt()中指定第二个参数,来指定数字的进制

[number value].toFixed([n]):保留小数点后面n位

 

 

练习:

parseInt("") //->NaN
Number("")// ->0
isNaN("") //->隐式转换为数字,基于Number ->isNaN(0) ->false

parseInt(null) //->NaN//parseInt()里面的参数是字符串 把null转换为字符串
Number(null) //->0
isNaN(null) //->false

parseInt("12px")// ->12
Number("12px")// ->NaN
isNaN("12px") //->isNaN(NaN) ->true 

 

typeof (isNaN("")) + parseInt(NaN);
/*
    + !typeof(isNaN(""))
        + isNaN("") ->false
        + typeof false ->'boolean'
        + !'boolean' ->false
    + parseInt(NaN) ->NaN
->false+NaN ->NaN
//NaN除了+string类型相加等于字符串类型,其他类型和NaN相加都是NaN,NaN+NaN也等于NaN
*/

 

posted @ 2019-07-20 10:16  zuiaimiusi  阅读(233)  评论(0编辑  收藏  举报