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

2024-01-09 10:39:24

1.对象

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

选择器{

? ? ?属性:属性值;

? ? ?属性:属性值;
}

<script>
        var obj1 = {
            "ming":"小明",
            "age" :"22",
            "sex" : "男"
        }
        var obj2 = {
            "ming":"小李",
            "age" :"22",
            "sex" : "男"
        }
        var obj3 = {
            "ming":"小刘",
            "age" :"22",
            "sex" : "nv"
        }
        var arr = [obj1,obj2,obj3];
        console.log(arr);
        //查找对像键值的方式  []
        console.log(obj1["ming"]);
        //或者
        var ming = "ming";
        console.log(obj1[ming]);
</script>

?1.2.案例2

    <script>
        var obj = {
            1:"a",
            2:"b",
            3:"c"
        }
        console.log(obj[1]);
    </script>

2.数据类型转换

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

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

<body>
    <script>
        var str = "111.111.111";
        //parseInt(XX)取整,保留整数部分
        console.log(parseInt(str) +2);   //输出的值为113
        console.log(typeof(parseInt(str)+2));
    </script>
</body>

带英文字母的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.2parseIFloat取浮点,保留整数部分的同时保留小数部分

        // 取浮点   保留小数部分
        // 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");
        // 余数,没除尽的数

文章来源:https://blog.csdn.net/qq_47462646/article/details/135463837
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。