数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        // var a=123;
    //    数据类型指的就是字面量的类型
     /*   在JS中一共有六种数据类型
            String 字符串
            Number 数值
            Boolean 布尔值
            Null 空值
            Undefined 未定义
            Object 对象

            其中 String Number Boolean Null Undefind属于基本数据类型
            而Object属于引用数据类型
      */
        /*
            String字符串
                -在JS中字符串需要使用引号引起来
                -使用单引号或双引号都可以
                -引号不能嵌套,双引号里面不能放双引号,单引号里面不能放单引号

             在字符串中,我们可以使用\作为转义字符,
                当表示一些特殊符号时,可以使用\进行转义
               \"表示“
               \'表示'
               \n表示换行
               \t表示制表符
               \\表示\

          var str="hello";
          console.log("hello");
          输出字面量 字符串str
          alert("str");
          输出变量str
          alert(str);
         */


        /*
            Number
                在JS中所有的数值都是 Number类型
                    包括整数和浮点数(小数)
                JS中可以表达的数字的最大值:Number.MAX_VALUE
                如果使用Number表示的数字超过了最大值,则会返回一个Infinity
                    Infinity表示正无穷
                    -Infinity表示负无穷
                使用typeof检查Infinity也会返回Number
                NaN表示not a number
                    使用typeof检查NaN也会返回Number
                可以使用一个运算符typeof来检查变量的类型
                语法:typeof 变量
                    -console.log(typeof a);检查a的类型
                    -检查字符串时会返回String
                    -检查数值时会返回Number

                 在JS里整数的运算基本可以保证精确
                 如果用JS进行浮点数运算,可能得到一个不精确的结果
                    所以不能用JS进行对精确度较高的运算
         */

        /*
        Boolean布尔值,主要用来做逻辑判断
            布尔值只有两个:true 表示真
                         false 表示假
             var bool=true;
             使用typeof检查一个布尔值时,会返回bolean
         */

        /*
        Null类型的值只有一个,就是null,专门用来表示为空的对象
            var a=null;
            使用typeof检查Null值时会返回object
         */

        /*
        Undefined类型值只有一个,就是Undefined
            当我们声明一个变量,但是并不给变量赋值时,返回Undefined
            使用typeof检查Undefined值时,也会返回Undefined
         */
    </script>
</head>
<body>

</body>
</html>

强制类型转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
    /*
        强制类型转换
            -指将一个数据类型强制转换为其他数据类型
            -类型转换主要指,将其他数据类型转换为String Number Boolean

     */

    /*
        将其他数据类型转换为String
            -方式一:调用被转换数据类型的toString()方法
                    该方法不会影响到原变量,它会将转换的结果返回
                    var a=123;
                    var b=a.toString();
                    注意:null 和undefined这两个值没有toString方法
                         如果调用他们的方法会报错
            -方式二:调用String()函数,并将被转换的数据作为参数传递给参函数
                    使用String()函数做强制类型转换时
                        对于Number和Boolean实际上就是调用toString()方法
                        但是对于null和undefined,就不会调用toString()方法
                            它会将null直接转换为“null"
                            将undefined直接转换为”undefined"
     */
  </script>
</head>
<body>

</body>
</html>

将其他类型转换为Number

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
      /*
        将其他类型转换为Number
                方式一:使用Number()函数
                       -字符串转数字:如果是纯数字的字符串,则直接将其转换为数字
                                    如果字符串中有非数字的内容,转换为NaN
                                    如果字符串是一个空串或全是空格的字符串,转换为0
                       -布尔转数字:true转为1
                                  false转为0
                       -Null转数字:0
                       -Undefined转数字:NaN
                方式二:专门用来对付字符串:
                       parseInt()把字符串转换为一个整数,可以将一个字符串中的有效整数取出来然后转换为Number
                       parseFloat()把字符串转换为一个浮点数,作用和parseInt()类似,不同的是他可以获得有效的小数

                       如果对非String使用parseInt()或parseFloat(),它会将其先转换为String然后再操作

       */

      var a=123;
  //    调用Number()函数将a装换位Number类型
      a=Number(a);
      console.log(typeof a);
  </script>
</head>
<body>

</body>
</html>

其他进制数字

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
    /*
        在JS中,如果需要表示16进制的数字,则要以0x开头
               如果需要表示8进制数字,则需要以0开头
               如果需要表示二进制数字,则需要以0b开头(不是所有浏览器都支持)
     */

    //像a="070"这种字符串,有点浏览器会当成八进制,有的浏览器会当成十进制
    a="070";
    //可以在parseInt()中传递一个第二个参数,来指定数字的进制
    a=parseInt(a,10);
  </script>
</head>
<body>

</body>
</html>

将其他数据类型转换为Boolean

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        /*
            将其他数据类型转换为Boolean
                -使用Boolean()函数
                    数字转布尔:除了0和NaN其余都是true
                    字符串转布尔:除了空串其余都是true
                    null和undefined都是false
                    对象也会转换为true

         */
    </script>
</head>
<body>

</body>
</html>

Q.E.D.