【JavaScript的五种基本数据类型及转换】

js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型就是特殊的(Object)。

"undefined" 变量未定义
"boolean" 变量是布尔值
"string" 变量是字符串
"number" 变量是数值
"object" 变量是对象或者null
"function" 变量是函数

 

 

 

 

typeof  操作符可以检测变量的数据类型(输出的是一个关于数据类型的字符串)。

1 //          typeof是得到变量的类型(查看数据类型)
2             var a;    //undefined
3             a=null;   //object
4             a=0;      //number
5             a=NaN;    //number
6             a="1";    //string(带引号的基本都是字符串)
7             a=false;  //boolean布尔
8             a='';     //string(带引号的基本都是字符串)
9             alert(typeof a); 

隐式转换:

以下是一些例子:

其中:

其它类型转换成数值型:
 数值型+undefined=NaN   
数值型+null=数值
布尔boolean:true+2=3 false+2=2
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7         /*
 8          if(exp){
 9              exp为true的代码段;
10          }else{
11              exp为false的代码段;
12          }
13          */
14         //其它类型转换成布尔类型假的有
15 //        var a;//undefined->false
16 //      typeof得到变量的类型
17 //        alert(typeof a);
18 //             a=null;//null->false
19 //          0 0.0 NaN->false
20 //             a=0;
21 //             a=0.0;
22 //            a=0/0;
23 //             a=NaN;
24             a=null;
25              alert(a);
26 //            a='';//空字符串->false
27 //            a='0';
28 //            a=' ';
29 //            alert(typeof a);
30 //            if(a){
31 //                alert('真');
32 //            }else{
33 //                alert('假');
34 //            }
35 //其它类型转换成数值型
36             var b=undefined;//undefined->NaN
37             b=null;//null->0
38             b=false;//true->1
39 //            b=false;//false->0
40 //            alert(1+b);    //    数值型+undefined=NaN   数值型+null=数值     ( boolean:true+2=3  false+2=2)
41             var c='12';//'12'->12
42 //            c='3king';//'3king'->NaN
43             c=false;
44 //            alert(2*c);
45 //            c='33';
46 //            alert(typeof c);
47             c=c*1;
48 //            alert(typeof c);
49 
50             
51     </script>
52     </head>
53     <body>
54         <h1>隐式转换的例子</h1>
55         <script type="text/javascript">
56             //其它类型转换成字符串型
57             document.write(undefined);//'undefined'
58             document.write('<br/>');
59             document.write(null);//'null'
60             document.write('<br/>');
61             document.write(NaN);//'NaN'
62             document.write('<br/>');
63             document.write(123);//'123'
64             document.write('<br/>');
65             document.write(true);//'true'
66             document.write('<br/>');
67             document.write(false);//'false'
68             document.write('<br/>');
69             //alert(1+"1");//拼接字符串
70             //alert('2'+12);//拼接字符串
71         </script>
72     </body>
73 </html>

强制转换:<有五种>

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7     //其它类型转换成布尔类型false的有
 8         var test=Boolean(0);
 9         test=Boolean(-0);
10         test=Boolean(NaN);
11         test=Boolean(undefined);
12         test=Boolean('');
13         test=Boolean(0.0);        
14         test=Boolean('0');
15         //其它类型转换成字符串型
16         test=String(1234);
17         test=String(23.34);
18         test=String('this is a test');
19         test=String(true);
20         test=String(false);
21         test=String(null);
22         test=String(undefined);
23         test=String(NaN);
24         //其它类型转换成数值型
25         test=Number(12);
26         test=Number(232.3);
27         test=Number(true);
28         test=Number(false);
29         test=Number(undefined);
30         test=Number(NaN);
31         test=Number(null);
32         test=Number('3king');
33         test=Number('324');
34         //通过parseInt()进行转换成整型
35         test=parseInt('123');
36         test=parseInt(222,3);        //234
37 //        alert(test);
38         test=parseInt('0xabcdef');    //11295375
39         //alert(test);
40         test=parseInt('012344');    //12344
41 //        alert(test);
42         test=parseInt(45,16);        //69
43 //        alert(test);
44         test=parseInt('3ki23ng');    //3
45 //        alert(test);                   //3
46         test=parseInt('true');        //NaN
47         //alert(test);
48         test=parseInt(true);        //NaN
49         //alert(test);
50         test=parseInt('  35  6 a ');//35
51 //        alert(test);
52         //通过parseFloat()转换成浮点型
53         test=parseFloat('123.34abc');
54         //test=parseFloat('123');
55     //    test=parseFloat('sdf');
56 //        test=parseFloat(' 2e3a');
57         alert(test);
58     </script>
59     </head>
60     <body>
61     <h1>强制转换的例子</h1>
62     </body>
63 </html>
原文地址:https://www.cnblogs.com/zxnn/p/8214987.html