四:Boolean类型
Boolean类型有两个值(字面量):true和false
五:Number类型
Number类型包括两种数值:整型和浮点型。
由于保存浮点数数值需要的内存空间比整型数值大两倍,因此ECMAScript会自动将可以转换为整型的浮点数值转为整型。
NaN,即非数值(not a number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况
ECMAScript提供了isNaN()函数,用来判断这个值到底是不是NaN。isNaN()函数在接收到一个值后,会尝试将这个值转换为数值。
alert(isNaN(NaN)) true
alert(isNaN(25)) false
alert(isNaN(true)) false
有三个函数可以把非零数值转换为数值:Number()、parseInt()和parseFloat()。
Number()是转型函数,可以用于任何数据类型,而另外两个则专门用于把字符串转换为数值。
alert(Number(null)) 0
alert(Number(undefined)) NaN
alert(Number("256")) 256
alert(Number("08.9")) 8.9
alert(Number("lee123")) NaN
由于Number()函数在转换字符串时比较复杂且不够合理,因此在处理整数时更常用的是parseInt()
alert(parseInt('456Lee')) 456
alert(parseInt('lee456Lee')) NaN
alert(parseInt('12Lee56Lee')) 12
alert(parseInt('56.12')) 56
alert(parseInt('')) NaN
parseInt除了识别十进制之外还能识别八进制和十六进制。同时它还有第二个参数,用于解决各种进制
alert(parseInt('AF',16)); 175,可以去掉前导0x
parseFloat用于浮点数值转换,和parseInt()一样,从第一位解析到非浮点数值位置。
alert(parseFloat('123Lee')) 123
alert(parseFloat('0xA')) 0 不识别十六进制
parseFloat('23.4.5') 23.4
六:String类型
数值转换为String
var box =1; var box = true;
alert(typeof box.toString())
toString()方法一般不需要传参的,但在数值转换为字符串的时候,可以传递进制参数
如果在转型之前不知道变量是否是null或者undefined的情况下,我们可以使用转型函数String(),这个函数能够将任何类型的值转换成字符串。
var box=null;
alert(String(box));
七:Object类型
对象其实就是一组数据和功能的集合。
var box = {}
var box = new Object();