38-对象,数据类型转换:数字➡️⬅️字符串parseInt(),parseFloat取浮点,Number(),isNaN(),toString和String,.split(符号),布尔和运算符号

1.对象

一系列的属性和属性值的集合;键值对,键名 键值

选择器{

     属性:属性值;

     属性:属性值;
}

 1.2.案例2

    

2.数据类型转换

字符串-------------->数字

2.1parseInt(XX)取整,保留整数部分


    

带英文字母的number转换

        var str = "123.123abc";
        //var str = "123abc456.123";
        console.log(parseInt(str)); 
        //小数部分和整数部分有abc,控制台给的值输出都为123

以不合法开头的整数部分取整

        var str = "abc123.123";
        console.log(parseInt(str)); 
        //控制台给的输出的值为NaN
        //NaN不是一个数字的类型,错误的的运算结果

2.2parseFloat取浮点,保留整数部分的同时保留小数部分

        // 取浮点   保留小数部分
        // parseFloat(XXX)
        var str = "111.111.111";
        console.log(parseFloat(str));
        //控制台输出的值为111.111,也是因为小数只有一个小数点,所以后面砍掉
        //其余部分和和parseInt一样规则

2.3Number(XXX)

        //Number(强制转换)
        var str = "111.111";     //控制台输出结果111.111
        var str = "111.111.111"; //控制台输出结果为NaN
        console.log(Number(str));
        //只要转换的值里面有不合法的部分直接转换成NaN

Number和parseInt的区别:

相同点:都是转换成数字类型

不同点:在进行转换的时候,如果开头是不合法的部分,转换成NaN

                如果开头是合法数字部分, parseInt正常保留,直到遇到不合法的部分不要

                                                                Number只要有不合法的部分,直接转换成NaN

2.4isNaN(XXX)

判断一个值  是不是  不是一个数字。ture,false;非数字返回ture,数字返回false

        // isNaN判断之前,先使用Number尝试对其转换
        // console.log(isNaN("abc"));          //true
        // console.log(isNaN("123abc"));       //true
        // console.log(isNaN("123"));          //false
        // console.log(isNaN("abc123"));       //true
        // console.log(isNaN("123.123"));      //false
        // console.log(isNaN("123.123.123"));  //true

数字----------->字符串

3.语法:XXX.toString()                 String(XXX) 

3.1方法和属性


        window.alert();        //方法
        window.name = "aaa"    //属性

3.2  XXX.toString和String(XXX)

        var num = 123.123;
        console.log(num.toString());
        console.log(String(num));
        //String()可以转换undefined和null,toString转换这两个值会报错

3.3数组转换成字符串

        var arr = [1,2,3];
        console.log(arr.toString());
        console.log(arr.String().length);  //控制台输出结果为字符串长度 5,就是有5个字符

3.4字符串转换成数组

xxx.split(符号)将当前的字符串以内部所书写的符号为分隔符 ,拆开成若干个字符串数组

        //var str = "1-2-3";
        var str = "1,2,3";
        //转换成数组
        //split(符号)
        //console.log(str.split("-"));
        console.log(str.split(","));

4.转换成布尔值Boolean(xxx)

ture 是非0 ,false是1

        // console.log(Boolean(0));          false
        // console.log(Boolean(1));          ture
        // console.log(Boolean(2));          ture
        // console.log(Boolean("a"));        ture
        // console.log(Boolean(null));       false
        // console.log(Boolean(undefined));  false
        // console.log(Boolean(""));         false
        // console.log(Boolean("空格"));      ture
                              //空格占字符串的位置,算是一个字符串

5.非强制类型转换/隐式转换,运用运算符号进行转换

+,-,*,/,%

        console.log(typeof("3" - 1));
        console.log(1*"2");
        console.log(1/"2");
        console.log(3%"2");
        // 余数,没除尽的数

你可能感兴趣的:(javascript,前端,开发语言)