JS基础入门篇(六)— 数据类型

1.数据类型

数据类型:我感觉就是对数据的种类进行分类。就好比把人分为儿童,青少年,中年,老年一样。

  • 基础数据类型:

                   Number(数字),String(字符串),Null(空),Undefined(未定义),Boolean(布尔值)。
  • 复合(复杂)数据类型

     Object(对象)
    

2.字符串

  • 字符串:
    成对单引号或者双引号包起来的0个或多个字符组成的串
  • 字符串拼接:
    只要 +一边是字符串 ,那么就会做字符串拼接。

<script>
//            "abcdef"
//            ""  这是空字符串
//            " " 这是含有一个空格的字符串
            var str = "abc";
            console.log( str.length );//结果为:3
            console.log( str[1] );//结果为:b
            
            var str2 = "123456"; 
            console.log( str2 + 1 );//结果为:1234561
            
            console.log( "hello"+"world" );//结果为:helloworld
            
            console.log( "hello"-"o" );//结果为:NaN
            
</script>

3.Number

  • Number: -Infinity~Infinity之间,分为小数(浮点数)和整数。
<script>
//        123456
//        0
//        -1000
//        1.23456    
        
        console.log( Infinity+1 );  //Infinity
        console.log( 1/2 );//0.5
        console.log( 1/0 );//Infinity
        
        
        console.log( 2.0 );//2
        console.log( 0.1+0.2 );//0.30000000000000004,不易用js来进行算数计算,因为js计算存在问题。
        
</script>

4.Boolean

布尔值:

值为:true、false。
一般用布尔值判断真假,进行流程控制等

5.Undefined

未定义:

声明一个变量,并未给其赋值,那么这个变量内存储的就是undefined;
一般来说不希望看到undefined。
<body>
<div> div </div>
<script>
        var a = undefined;
        console.log( a );
//------------------------------------------
        var b;
        console.log( b );
        
        console.log(document.z );
//------------------------------------------
        var divs = document.getElementsByTagName("div");
        divs[1].className = "red";
        console.log( divs[1] );//这是报错中含有undefined.不存在divs[1],故会报错。
</script>
</body>

6.Null

Null :

值只有一个 null,是一个对象。
<body>
    <script>
        console.log( document.querySelector("div") );//null
        var a = null;
        console.log( a );//null
        console.dir( null );//null
//        a.index = 1; // 报错,不能给null添加属性。
    </script>
</body>

7.复合类型 Object

复合类型:简单复合数据类型组成的。

1.对象:

        由一对{}包起来的,
        0对或者多对 键名和键值 组成的对,
        每对键值对 之间用","隔开,最后一个不要加","

2.对象值的获取:

        方法一:对象.键名(属性名)
        方法二:对象["键名"]

3.对象值的设置:

        方法一:对象.键名(属性名) = 值
        方法二:对象["键名"] = 值

4.举例说明

<body>
    <script>
        console.dir( {} );

        var kimoo = {
            age:18,
            isMarried:true,
            name:"kimoo",
            wife:true,
            children:[
                {
                    name:"joe",
                    age:18
                },
                {
                    name:"tom",
                    age:20
                }
            ]
        };
        
        console.log( kimoo.name );//kimoo
        console.log( kimoo.age );//18
        console.log( kimoo["age"] );//18
//------------------------------------------
        kimoo.age = 28;
        console.log( kimoo.age );//28
        kimoo["age"] = 38;
        console.log( kimoo.age );//28
        
//------------------------------------------
        console.log( kimoo.children[0].name )
        
    </script>
</body>

8.typeof

typeof:检测数据类型

注意:

  • 返回值是一个”字符串” 类型。 eg: “number”、”function”
  • typeof 出的结果首字母都是小写的。
<script>
        console.log( typeof 123 );//"number"
        console.log( typeof "abc" );//"string"
        console.log( typeof true );//"boolean"
        
        console.log( typeof null );//"object"
        console.log( typeof undefined );//"undefined"
        console.log( typeof {} );//"object"
        
        console.log( typeof function fn(){} ); //"function"
        console.log( typeof [] );// "object"
        
        console.log( typeof typeof [1,2,3] ); //"string"
                            |首先到这一步
//        console.log( typeof "object" );
//                            |再到下一步
//        console.log( "string" );
        console.log( typeof("abc","1234",true)); //打印括号中最后一个数据的数据类型为boolean.
        
        console.log( typeof ("abc" + "d") );//"string"

        console.log( typeof "abc" + "d" );//"stringd"
        console.log( "d" + typeof "abc" );//"dstring"
</script>
    原文作者:梁志芳
    原文地址: https://segmentfault.com/a/1190000014868422
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞