javascript 类型复习

JavaScript数据类型

JavaScript有6中数据类型,分别为Number、String、Boolean、Object、undefined、function

 1 <script type="text/javascript">
 2         var demo = 123;
 3         document.write(demo + "的数据类型为:" + typeof (demo) + "<br />");
 4         demo = "456";
 5         document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
 6         demo = true;
 7         document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
 8         demo = {};//数组、null返回的也是object类型
 9         document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
10         demo = undefined;
11         document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
12         demo = function () { };
13         document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
14     </script>

typeof(a) 未申明的变量  返回"undefined"

typeof(null) 返回"object"

类型转换

显示类型转换

 1 var num = Number("aabc");//true转换为1    null转换位数字是0  undefined转换为数组是NaN  转换不成数字的转换为NaN
 2         document.write(typeof (num) + ":" + num);
 3 
 4         num = parseInt(true); //true false 转换全是NaN
 5         document.write(typeof (num) + ":" + num);
 6 
 7         //基底范围 2-36
 8         num = parseInt(10,16); //把10当成16进制转换为10进制  以目标进制为基底转换为10进制   从数字位看到非数字位然后返回  砍断原则 例如100px 取100
 9         document.write(typeof (num) + ":" + num);
10         
11         num = parseFloat(10,16); //从数字位看到第一个.以后的数字返回 非数字断掉。
12         document.write(typeof (num) + ":" + num);
13 
14         //转换string
15         num = String("123"); 
16         document.write(typeof (num) + ":" + num);
17 
18 
19          //转换boolean
20         num = Boolean(123213); 
21         document.write(typeof (num) + ":" + num);
22 
23 
24         num = "123";  //undefined null 不能tostring()
25         num = num.toString();
26         document.write(typeof (num) + ":" + num);
27 
28 
29         num = 20;
30         num = num.toString(8);  //以10进制为基底  转换为目标进制
31         document.write(typeof (num) + ":" + num);
32 
33 
34         //demo  2进制转为为10进制
35 
36         num = 10000;
37         num = parseInt(num,2);
38         num = num.toString(16);
39 
40         document.write(typeof (num) + ":" + num);

 例题

 1         //隐示类型转换
 2         var str = false + 1;
 3         console.log(str);//1
 4         var demo = false == 1;
 5         console.log(demo);//false
 6 
 7         if (typeof (a) && -true + (+undefined) + "") {
 8             //"undefined" && -1 + "NaN"
 9             //"undefined" && "NaN"
10             console.log("第一个输出");
11         }
12         if (11 + "11" * 2 == 33) {
13             console.log("第二个输出");
14         }
15         //" "返回true  “”返回false
16         !!" " + !!"" - !!false || document.write("会输出么");
17         //true + false - false;
18 
19         true && false &&  document.write("cccd");

隐示类型转换

isNaN() 内部先调用 Number() 在和NaN比较.
+ 两侧有字符串 整个变为字符串
原文地址:https://www.cnblogs.com/FashionDoo/p/10288931.html