S 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7             
 8             /*
 9              * 强制类型转换
10              *     - 指将一个数据类型强制转换为其他的数据类型
11              *     - 类型转换主要指,将其他的数据类型,转换为
12              *         String Number Boolean
13              *         
14              */
15             
16             /*
17              * 将其他的数据类型转换为String
18              *     方式一:
19              *         - 调用被转换数据类型的toString()方法
20              *         - 该方法不会影响到原变量,它会将转换的结果返回
21              *         - 但是注意:null和undefined这两个值没有toString()方法,
22              *             如果调用他们的方法,会报错
23              * 
24              *  方式二:
25              *         - 调用String()函数,并将被转换的数据作为参数传递给函数
26              *         - 使用String()函数做强制类型转换时,
27              *             对于Number和Boolean实际上就是调用的toString()方法
28              *             但是对于null和undefined,就不会调用toString()方法
29              *                 它会将 null 直接转换为 "null"
30              *                 将 undefined 直接转换为 "undefined"
31              * 
32              */
33             
34             var a = 123;
35             
36             //调用a的toString()方法
37             //调用xxx的yyy()方法,就是xxx.yyy()
38             a = a.toString();
39             
40             a = true;
41             a = a.toString();
42             
43             a = null;
44             //a = a.toString(); //报错
45             
46             a = undefined;
47             //a = a.toString(); //报错
48             
49             
50             a = 123;
51             
52             //调用String()函数,来将a转换为字符串
53             a = String(a);
54             
55             a = null;
56             a = String(a);
57             
58             a = undefined;
59             a = String(a);
60             
61             console.log(typeof a);
62             console.log(a);
63             
64         </script>
65     </head>
66     <body>
67     </body>
68 </html>