Fork me on GitHub

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /**
         * 强制类型转换
         *      - 指将一个数据类型转换为其他数据类型
         *      - 类型转换主要指: 将其他数据类型转换为 
         *          String Number Boolean
         **/
         
         /**
          *  将其他数据类型转换为String
          *  方式一:
          *     - 调用被转换数据类型的toString()方法
          *     - 该方法不会影响到原变量,它会将转换的结果返回
          *     - 但是注意,null和undefined这两个值没有toString()方法
          *        如果调用,则为报错
          *  方式二:
          *     - 调用String()函数,并将要转换的数据做为参数传递给函数
          *     - 使用String()函数强制类型转换时
          *         对于Number和Boolean实际上就是调用的toString()方法
          *         但是对于null和undefined,就不会调用toString()方法
          *             它会将null 直接转换为"null"
          *             将undefined直接转换为 "undefined"
          **/
          var a = 123;
            //   调用a的toString()方法
        a.toString()
        console.log(a);
        console.log(typeof a);
        
        // 此时返回的结果String类型
        var b = a.toString();
        console.log(b);
        console.log(typeof b);

        // 此时返回的结果Sting类型
        var c = true.toString();
        console.log(c);
        console.log(typeof c);

        a = null;
        // a.toString() 报错

        a = undefined;
        // a.toString(); 报错

        // 调用String() 函数,来将a转换为字符串
        a = 123;
        a = true;
        a = null;
        a = undefined;
        a = String(a)
        console.log(a);
        console.log(typeof a);

    </script>
</head>
<body>
    
</body>
</html>
posted on 2021-04-21 00:21  anyux  阅读(53)  评论(0编辑  收藏  举报