讲给Android程序员看的前端系列教程(40集免费视频教程+源码)
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
数据类型概述
JavaScript是弱类型程序设计语言,当进行变量声明的时候无须指定变量的数据类型。数据只需在使用或赋值时根据设置的具体内容再确定其对应的类型。但是,每一种编程语言都有自己所支持的数据类型,JavaScript也不例外。
JavaScript的数据类型分为两大类,分别为基本数据类型和复合数据类型,详情如下:
在JavaScript中常用的基本数据类型有:
- Number 数值类型
- String 字符串类型
- Boolean 布尔类型
- Undefined 未定义型(即变量未初始化)
- Null 空型(变量的值为空)
在JavaScript中的复合数据数据类型为Object,它分为如下两类:
- JavaScript提供的内置对象
- 用户自定义的对象
在此,我们先来学习基本数据类型;以后再学习复合数据类型。
Number
若把数字赋值给变量,那么该变量的数据类型就是数值类型(Number)。与其他程序语言不同的是,JavaScript中的数值型并不区分整数和浮点数,所有数字都是数值型。数值类型(Number)不但可以表示常见的十进制数字还可以表示十六进制,八进制的数字。
请看如下示例:
<script type="text/javascript">
var num1=9527;
var num2=0x22;
var num3=0124;
document.write("num1="+num1+",num2="+num2+",num3="+num3);
</script>
结果为:
num1=9527,num2=34,num3=84
String
在JavaScript中用双引号或者单引号包含起来的变量都是字符串类型。
请看如下示例:
<script type="text/javascript">
var str1="本文的作者";
var str2='谷哥的小弟';
document.write("str1="+str1+",str2="+str2);
</script>
结果为:
str1=本文的作者,str2=谷哥的小弟
Boolean
在JavaScript中常用Boolean类型数据表示真与假或者是与非。比如:true表示真,对应的数字是1;false表示假,对应的数字是0
请看如下示例:
<script type="text/javascript">
var b1=true;
var b2=false;
document.write("b1="+b1+",b2="+b2);
</script>
结果为:
b1=true,b2=false
Undefined
Undefined(未定义型)只有一个取值即undefined,它表示定义了变量但未对其初始化。
比如:
<script type="text/javascript">
var username;
</script>
此处,虽然声明了变量username但未对其初始化,此时username的类型是undefined
Null
Null(空型)只有一个特殊的取值即null值,它表示一个不存在的或无效的对象或地址。由于JavaScript中大小写敏感,因此变量的值只有是小写的null时才表示空型(Null)。
比如:
<script type="text/javascript">
var username=null;
</script>
typeof操作符
typeof操作符以字符串形式返回操作数的类型。
示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>typeof操作符</title>
</head>
<body>
<script type="text/javascript">
var name="谷哥的小弟";
var age=26;
var city;
document.write(typeof name);
document.write("<br />");
document.write(typeof age);
document.write("<br />");
document.write(typeof city);
</script>
</body>
</html>
结果如下:
基本数据类型转换
在了解基本数据类型之后,我们来瞅瞅它们之间的相互转换。
将number转换成string
可利用String(var)和var.toString()这两种方式将number转换成string
请看如下示例:
<script type="text/javascript">
var age=18;
var pai=3.14;
document.write("age原本的数据类型是:"+typeof(age)+"<br>");
document.write("pai原本的数据类型是:"+typeof(pai)+"<br>");
age=String(age);
pai=pai.toString(pai);
document.write("age现在的数据类型是:"+typeof(age)+"<br>");
document.write("pai现在的数据类型是:"+typeof(pai)+"<br>");
</script>
结果为:
age原本的数据类型是:number
pai原本的数据类型是:number
age现在的数据类型是:string
pai现在的数据类型是:string
将string转换成number
可利用Number(var)和parseInt(var)以及parseFloat(var)将string转换成number
请看如下示例:
<script type="text/javascript">
var pai1="3.1415";
document.write("转换前pai1="+pai1+",数据类型是"+typeof(pai1)+"<br>");
var pai2="3.14159";
document.write("转换前pai2="+pai2+",数据类型是"+typeof(pai2)+"<br>");
var pai3="3.141596";
document.write("转换前pai3="+pai3+",数据类型是"+typeof(pai3)+"<br>");
pai1=Number(pai1);
document.write("转换后pai1="+pai1+",数据类型是"+typeof(pai1)+"<br>");
pai2=parseInt(pai2);
document.write("转换后pai2="+pai2+",数据类型是"+typeof(pai2)+"<br>");
pai3=parseFloat(pai3);
document.write("转换后pai3="+pai3+",数据类型是"+typeof(pai3)+"<br>");
</script>
结果为:
转换前pai1=3.1415,数据类型是string
转换前pai2=3.14159,数据类型是string
转换前pai3=3.141596,数据类型是string
转换后pai1=3.1415,数据类型是number
转换后pai2=3,数据类型是number
转换后pai3=3.141596,数据类型是number
请注意:
- 利用Number(var)将string转换成number,最后的结果为原数据
- 利用parseInt(var)将string转换成number,最后的结果为原数据的整数部分
- 利用parseFloat(var)将string转换成number,最后的结果为原数据
将其它数据类型转换为boolean
可利用Boolean(var)将其它数据类型转换为boolean
请看如下示例:
<script type="text/javascript">
var age=18;
document.write("转换前age="+age+",数据类型是"+typeof(age)+"<br>");
var user="谷哥的小弟";
document.write("转换前user="+user+",数据类型是"+typeof(user)+"<br>");
var zero=0;
document.write("转换前zero="+zero+",数据类型是"+typeof(zero)+"<br>");
age=Boolean(age);
document.write("转换后age="+age+",数据类型是"+typeof(age)+"<br>");
user=Boolean(user);
document.write("转换后user="+user+",数据类型是"+typeof(user)+"<br>");
zero=Boolean(zero);
document.write("转换后zero="+zero+",数据类型是"+typeof(zero)+"<br>");
</script>
结果为:
转换前age=18,数据类型是number
转换前user=谷哥的小弟,数据类型是string
转换前zero=0,数据类型是number
转换后age=true,数据类型是boolean
转换后user=true,数据类型是boolean
转换后zero=false,数据类型是boolean
Boolean( )使用小结:
- 可利用Boolean(var)可将数字0转换为false
- 可利用Boolean(var)将其它数据类型的非空值强制转换为true