JavaScript数据类型
一.数值型(Number)
JavaScript不区分整型和浮点数,所有的数值都为浮点型数据来表示。统一用Number表示。
使用toString()方法把数值转换为字符串。
<script>
var a=100;
var c=a.toString();
alert(typeof(c));//返回string
</script>
有个简单的方式就是使用数值与字符串相加,即可把数值转换为字符串。
<script>
var a=100;
var c=a+" ";
alert(typeof(c));//返回string
</script>
Javascript提供了几个特殊的数值,这些数值在数学计算中比较有用,如图所示:
Column 1 | Column 2 |
---|---|
Infinity | 无穷大 |
Number.MAX_VALUE | 可表示的最大数值 |
Number.NaN | 非数值 |
Number.NEGATIVE_INFINITY | 负无穷大 |
NaN | 非数值 |
Number.MIN_VALUE | 可表示的最小数值 |
Number.POSITIVE_INFINITY | 正无穷大 |
二.字符串(string)
字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,“xyz"等等。请注意,’'或”"本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。
使用parseInt()和parseFloat()方法可以把字符串转换为数值。
<script>
var str="123.30";
var a=parseInt(str);//123
var b=parseFloat(str);//123.30
</script>
有个简单的方式就是让字符与1相乘,即可把字符串快速转换为数值。
<script>
var str="123.30";
var a=str*1;
alert(typeof a);//返回number
</script>
三.布尔型
布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值,要么是true,要么是false,可以直接用true、false表示布尔值,也可以通过布尔运算计算出来:
<script>
true; // 这是一个true值
false; // 这是一个false值
2 > 1; // 这是一个true值
2 >= 3; // 这是一个false值
</script>
要把任何值转换为布尔型数据,在值的前面增加两个感叹号。
<script>
var a=100;
var c=!!a;
alert(c);//返回值为true
alert(typeof c);//返回boolen
</script>
任何非0的数字转换为布尔值后为true,而0转换为布尔值为false。
任何非空的字符串转换为布尔值后为true,而空格转换为布尔值为false。
如果把布尔值转换为数值,则true位1,false为0。
<script>
var a=true;
var b=false;
a=a*1;//值为1
b=b*1;//值为0
</script>
这些值的布尔值都是false
Column 1 | Column 2 |
---|---|
0 | Number |
NaN | Number |
‘’ | String |
false | Boolean |
null | Object |
undefined | Undefined |
四.null和undefined
null是Null类型的值,Null类型的值只有一个值(null),它表示空值。当使用typeof运算符检测null值的类型,则返回object说明它是一种特殊的对象。
undefined表示为定义的值,当变量未初始化值时,会默认其值为undefined。当使用typeof运算符检测undefined值的类型,返回值为undefined。
两者的区分意义不大。大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。
五.引用型数据
包含数组、对象、函数。
1.数组(array)
数组是值的有序集合,指的是多个值之间必须按先后的顺序排列在一起,能够根据序号找到对应的位置。JavaScript的数组可以包括任意数据类型。例如:
[1, 2, 3.14, 'Hello', null, true];
上述数组包含6个元素。数组用[]表示,元素之间用,分隔。
另一种创建数组的方法是通过Array()函数实现:
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
然而,出于代码的可读性考虑,强烈建议直接使用[]。
2.对象(object)
对象
JavaScript的对象是一组由键-值组成的无序集合,例如:
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
JavaScript用一个{…}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。
JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述person对象一共定义了6个键值对,其中每个键又称为对象的属性,例如,person的name属性为’Bob’,zipcode属性为null。
要获取一个对象的属性,我们用对象变量.属性名的方式:
person.name; // 'Bob'
person.zipcode; // null
3.函数(function)
JavaScript是函数式编程语言,在JavaScript脚本中函数随处可见。函数构成了JavaScript的代码主题。定义函数有两种方式:
一、使用function语句声明函数
function f()
{
//函数体
}
二、通过Function对象来构造函数
var f=Function()
{
//函数体
}
命名函数的方法也被称为声明式函数。
匿名函数的方法也被称为引用式函数或者函数表达式。即把函数看作一个复杂的表达式,并把表达式赋予变量。