博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

javascript基础二数据类型

Posted on 2016-02-24 15:30  807705635liulu  阅读(173)  评论(0)    收藏  举报

1.数据类型

javascript中的基本数据类型有4中,undefined,number,string,boolean

1.1 typeof关键字

typeof关键字可以获取一个变量的的类型。先举个例子

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Insert title here</title>
 6     <script type="text/javascript">
 7         var a = 10;
 8         var b = 'a';
 9         var c = "ab";
10         var d = true;
11         var e = 3.14;
12         var f;
13         document.write(a+"<br/>");
14         document.write(b+"<br/>");
15         document.write(c+"<br/>");
16         document.write(d+"<br/>");
17         document.write(e+"<br/>");
18         document.write(f+"<br/>");
19         document.write("<hr/>");
20         
21         document.write(typeof a+"<br/>");
22         document.write(typeof b+"<br/>");
23         document.write(typeof c+"<br/>");
24         document.write(typeof d+"<br/>");
25         document.write(typeof e+"<br/>");
26         document.write(typeof f+"<br/>");
27         
28     </script>
29 
30 </head>
31 <body>
32 </body>
33 </html>

运行的结果

 

从上面可以看出,typeof类型的总结:
(1)所有的数值都是number
 (2)字符和字符串都是string
(3)布尔是boolean
(4)如果一个变量没有给初始值,给的是undefined、
 
 
1.2 十进制,十六进制,八进制
 
 在javascript中以0开头的表示八进制,以0x开头表示十六进制。先看一段代码:
 
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>八进制,十进制,十六进制</title>
 6     <script type="text/javascript">
 7         var a = 13;
 8         var b = 013;//八进制
 9         var c = 0x12;//十六进制
10         document.write(a+"<br/>");
11         document.write(b+"<br/>");
12         document.write(c+"<br/>");
13     
14     </script>
15 
16 </head>
17 <body>
18 
19 
20 </body>
21 </html>

 结果为:13,11,18

但是注意:八进制数,若数据超过0—7的话,以十进制数看待。例如:

1 <script type="text/javascript">
2         var d = 081;//无效的八进制,以十进制看待
3         document.write(d);
4     
5 </script>

 

 输出的结果是:81
 
1.3 浮点数:
要定义浮点值,必须包括小数点和小数点后的一位小数字,(例如1.0不是1),这被看做浮点数字面量。例如:
 
1 <script type="text/javascript" >
2             var a = 3.14;//浮点数
3             var b = 1.//合法,小数点后面没有数字,解析为1
4             var c = 10.0//整数,解析为10。
5             document.write(a + "<br/>");
6             document.write(b + "<br/>");
7             document.write(c + "<br/>");
8 </script>

结果为:3.14

    1

    10

 注意:

由于浮点数需要的内存空间是整数的两倍,因此javascript会将浮点数转换为整数值。因此小数点后没有数字或浮点数本身就是一个整数就将看做整数。

 

1.4 转换成数字

javascript提供了两种转换数字的方法,parseInt()和parseFloat()两种方法。这两种方法只是将string进行转换数字,才能正确运行,其他的数据类型转换都是NaN。

parseInt()方法首先查看第0处的字符,若是数字,往第1处字符检查,若是数字就接着往下找,直到找到为字符的结束;如果查看第0处的字符是字符,那就结束查找,返回的是NaN。

例如:

1 <script type="text/javascript">
2         var a = "10av";
3         document.write(parseInt(a)+"<br/>");//返回的是10,找到第一个字符a,结束。
4         var b = "0xB";
5         document.write(parseInt(b)+"<br/>");//返回的11,将字符串中包含的数字字面转换为数字。
6         document.write(parseInt("56.9")+"<br/>");//返回56,将去掉小数点后面的数字
7         document.write(parseInt("abv")+"<br/>");//返回NaN
8 </script>

 

注意:
字符串中包含的数字字面将转换为数字,例如0xB,先转换为11。 56.9将小数点后面的数字省略,转换为56
parseFloat()和parseInt()都是将字符串转换为数字类型,只不过parseFloat()遇到浮点数时转换为原数,parseInt()将浮点数转换为整数,将小数点后面的省略。
 
1 <script type="text/javascript">
2         document.write(parseFloat("123")+"<br/>");//返回123
3         document.write(parseFloat("abc456")+"<br/>");//返回NaN
4         document.write(parseFloat("456abc")+"<br/>");//返回456
5         document.write(parseFloat("23.1")+"<br/>");//返回23.1
6         document.write(parseFloat("-23")+"<br/>");//返回-23
7 </script>

 下面看一下sNaN,判断是否是一个有效的数值,

isNaN(表达式):返回的结果是否为NaN(非数值)

1 <script type="text/javascript">
2         document.write(isNaN("abc")+"<br/>");//true
3         document.write(isNaN("123")+"<br/>");//false
4         
5 </script>