前端-JavaScript1-5——JavaScript之变量的类型

5.1 概述

基本类型5

       number          数字类型      

       string             字符串类型

       undefined      undefined类型,变量未定义时的值,这个值自己是一种类型

       boolean     布尔类型,仅有两个值true 和 false,讲if语句时我们细说

       null               null类型,这个值自己是一种类型,遇见时我们细说

引用类型

讲到再说

至于什么是引用类型,我们到时候见到再说。

5.2 typeof关键字

这个关键字,用来检测一个变量的类型。

1    var a = 100;

2    console.log(typeof a);


5.3 number类型

所有的数字都是number类型

1        <script type="text/javascript">

2           //下面定义的变量都是number类型

3           var a = 100;

4           var b = 234243245345;

5           var c = -345345435435;

6           var d = 345.3245234;

7           var e = .5e6;

8           var f = 0xff;

9           var g = 017;

10          var h = Infinity;

11          var i = NaN;

12         

13          console.log(typeof a);

14          console.log(typeof b);

15          console.log(typeof c);

16          console.log(typeof d);

17          console.log(typeof e);

18          console.log(typeof f);

19          console.log(typeof g);

20          console.log(typeof h);

21          console.log(typeof i);

22       </script>

JS中所有的数字都是number类型的,不在细分为整形int、浮点型float这些乱七八糟的东西。

number类型的东西:所有数字(不分正负、不分整浮、不分大小、不分进制)、InfinityNaN

5.4 string类型

1           var m1 = "哈哈";

2           var m2 = "123";  

3           var m3 = "";      //空字符串,也是字符串

4           console.log(typeof m1);

5           console.log(typeof m2);

6           console.log(typeof m3);


这个变量是什么类型,和赋的值有关系,而和定义的时候是没有关系的。定义的时候,都是用var
关键字定义的。

1           var mm = 123;  //number

2           console.log(typeof mm);

3           mm = "哈哈";  //改为string是合法的

4           console.log(typeof mm);

我们说js这个语言叫做动态数据类型,原因就在这里,就是赋值的时候就决定这个变量的类型了。甚至可以改变这个变量的值,为其他类型的值。变量的类型是自动检测的,而不是人规定的。

5.5 undefined类型

之前说过,一个变量只var过,没有赋初值,它的默认值是undefined;

这个undefined是自成一家,自己是自己的类型,它的类型也叫作undefined。undefined类型的值就只有undefined一个。

1    var nn;   //我只定义了,没有赋初值,所以就是undefined,类型也是undefined

2    console.log(nn);

3    console.log(typeof nn);

5.6 加号

加号是一个运算符,我们先提前说一下。

加号两边都是数字的时候,那么就是数学加法;两边不都是数字的时候,那么就是连字符,结果是字符串。

1    console.log("你" + "好");

1    console.log(1 + "2");

因为2被引号引起来了,所以就是字符串,所以+就是连字符

1    var a = "1";

2    var b = "2";

3    console.log(a + b);

1    var a = 1;

2    var b = 2;

3    console.log("a" + b); //a2

多个加号,从左算到右:

1    var a = 1;

2    var b = 2;

3    var c = 3;

4    console.log("a" + a + b + "c");

1    var a = 1;

2    var b = 2;

3    var c = 3;

4    console.log(a + b + "c");

欧克了,下面附上代码

变量还是字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <script type="text/javascript">
        // var a = 100;
        // console.log("a");

        var a = "我爱中国";
        console.log(a);
    </script>
</head>
<body>
    
</body>
</html>

typeof检测类型

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <script type="text/javascript">
        //下面定义的变量都是number类型
        // var a = 100;
        // var b = 234243245345;
        // var c = -345345435435;
        // var d = 345.3245234;
        // var e = .5e6;
        // var f = 0xff;
        // var g = 017;
        // var h = Infinity;
        // var i = NaN;
        
        // console.log(typeof a);
        // console.log(typeof b);
        // console.log(typeof c);
        // console.log(typeof d);
        // console.log(typeof e);
        // console.log(typeof f);
        // console.log(typeof g);
        // console.log(typeof h);
        // console.log(typeof i);

        //以下都是字符串类型的
        // var m1 = "哈哈";
        // var m2 = "123";    
        // var m3 = "";        //空字符串,也是字符串
        // console.log(typeof m1);
        // console.log(typeof m2);
        // console.log(typeof m3);

        // 动态数据类型
        // var mm = 123;
        // console.log(typeof mm);
        // mm = "哈哈";
        // console.log(typeof mm);

        // undefined
        var nn;
        console.log(nn);
        console.log(typeof nn);
    </script>
</head>
<body>
    
</body>
</html>

加号的意义

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <script type="text/javascript">
        // console.log("你" + "好");
        // console.log(1 + 2);        //3


        // console.log(1 + "2");    //12


        // var a = "1";
        // var b = "2";
        // console.log(a + b);    //12


        // var a = 1;
        // var b = 2;
        // console.log("a" + b);    //a2

        // var a = 1;
        // var b = 2;
        // var c = 3;
        // console.log("a" + a + b + "c");

        var a = 1;
        var b = 2;
        var c = 3;
        console.log(a + b + "c");
    </script>
</head>
<body>
    
</body>
</html>

欧了,下一篇。

猜你喜欢

转载自www.cnblogs.com/jingyao/p/10177220.html