JS中数据类型的转化

    技术2022-07-11  106

    小技巧:谷歌浏览器快速的查看数据类型,字符串颜色是黑色、数值类型颜色是蓝色、布尔类型也是蓝色、undefined和null是灰色的。

    《1》 转换字符串的类型:

    1:toString   

    1它的常规使用

    var num1=123; var res1=num1;toString(); console.log(res1);// 123 console.log(typeof res1);//string var num2=false; var res2=num2;toString(); console.log(res2);//false console.log(typeof res2);//string 2该方法不会改变原变量,它会将转换的结果返回 var num3=123; var res3=num3;toString() console.log(typeof num3); console.log(typeof res3); 3数值类型调用toString()方法,可以携带一个参数,输入对应进制的值 (8 4 2 1)

    4 null和undefined没有toString()方法,调用则错报 var num5=undefined; console.log(num5.toString()); var num6=null; console.log(num6 .toString());

    《2》 String

    1 null和undefined,就不会调用toString()方法,而是直接转成字符串 var n1=null; var s1=String(n1); console.log(s1);//null console.log(typeof s1);//undefined var n2=undefined; var s2=String(n2); console.log(s2);//null console.log(typeof s2);//undefined 2 对于Number和Boolean类型数据,String()相当于调用toString()方法 var n3=20; var s3=String(n3); console.log(n3); console.log(typeof n3); var n4=false; var s4=String(n4); console.log(n4); console.log(typeof n4);

    《3》字符串转数字

    1如果是纯数字的字符串,则直接将其转为数字

    var s1="10010"; var r1=Number(s1); console.log(s1);//10010 console.log(typeof s1);// number 2 如果字符串为空或者是一个全是空格的字符串,则转化为0 var s2=""; var r2=Number(s2); console.log(r2);// 0 var s3=" "; var r3=Number(s3); console.log(r3);// 0 3 如果说字符串中有非数字的内容,则转化为NaN var s4='17itlike'; var r4=Number(s4); console.log(r4);// NaN

    《4》布尔转数字

    true转成1,false转成0 var b1=true; var s1=Number(b1); console.log(s1);//1 var b2=false; var s2=Number(b2); console.log(s2);// 0

    《5》 null和undefined

    1 null转数字为 0

    var s1=null; var r1=Number(s1); console.log(r1);

    2undefined转数字为NaN

    var s2=undefined; var r2 =Number(s2); console.log(r2);

    《6》parselnt()函数和parsefloat()函数

    1 使用说明:Number函数中无论字符串是否存在有效整数都会直接返回NaN

    2 ParseInt():

    var s1="10rem"; var r1=parseInt(s1); console.log(r1);//100 var s2="200*300"; var r2=parseInt(s2); console.log(r2);//200 var s3="itlike"; var r3=parseInt(s3); console.log(r3);//NaN var s4=""; var r4=parseInt(s4); console.log(r4);// NaN

    3 ParseIntFloat():

    var s5="10.5rem"; var r5=parseFloat(s5); console.log(r5);//10.5 var s6="10.5.6.7.8rem"; var r6=parseFloat(s6); console.log(r6);// 10.5

    4 对非String使用parseInt()/parseFloat(),会先将其转换为String类型然后再操作

    var s7=false; var r7=parseInt(s7); console.log(r7);// NaN

    《7》+和- 0运算符:

     

    var s1="1234"; var r1=+s1; console.log(r1);//1234 console.log(typeof r1);//number var s2="1.01"; var r2=+s2; console.log(r2);//1.01 console.log(typeof s2);//number var s3="20rem"; var r3=+s3; console.log(r3);//NaN console.log(typeof r3);//number var s4=true; var r4=+s4; console.log(r4);//1 console.log(typeof r4);//number var s5= false; var r5=+s5; console.log(r5);//0 console.log(typeof r5);// number var s6='700' ; console.log(+s6);//700 console.log(-s6);//-700 console.log(s6-0);//700 console.log(typeof (s6-0));// number

    《8》转成布尔类型:

    Boolean(),0 ''(空字符号) null undefined NaN 会转成false 其他都会转成true console.log(Boolean(0));//转换成false console.log(Boolean(''));//false console.log(Boolean(null));//false console.log(Boolean(undefined));//false console.log(Boolean(NaN));//false console.log(Boolean(-1));// true var str='itlike'; var num1=123; var num2=-1; console.log( Boolean (str));//true console.log(Boolean (str));//true console.log( Boolean (str));// true

     

    Processed: 0.010, SQL: 9