JavaScript|JavaScript 入门(二、JavaScript数据类型)

1.基本数据类型
a.字符串
b.数值型
c.布尔型
2.复合数据类型
a.对象
b.数组
3.其他数据类型
a.函数
b.null
c.undefined
字符串型 字符串型是JavaScript中用来表示文本的数据类型,是由Unicode字符、数字和标点符号组成的一个字符串序列。字符串通常是由单引号或是双引号括起来的。
1.单引号和双引号均可解析转义字符
2.单引号和双引号均不能解析变量
3.变量与字符串、变量与变量要使用+来连接。
4.单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要将单引号转义,同理,双引号相同。
数值类型 最基本的数值字面量格式是
1.十进制整数:

var num = 10;

除了以十进制表示外,整数还可以通过八进制或十六进制的字面值来表示:
var num = 070; //八进制数,以0开头var num = 0xA; //十六进制数,以0x开头

注意:虽然数值可以用八进制或十六进制来表示,但在进行算术计算时,所有以八进制和十六进制表示的数值都将转换成十进制数值。
2.浮点数值 所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。
var num = 1.1; var num = 0.1; var num = .1; //有效,但不推荐

如果小数点后面没有跟任何数字(如1.),可以作为整数值来保存。
如果浮点数值本身表示的就是一个整数(如1.0),该值会被转为整数
可以使用e来表示科学计数法。
var num = 1.2e3; //等于1200

浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不如整数。
注意:永远不要测试某个特定的浮点数的值!
例如:
var a = 0.1; var b = 0.2; if(a+b == 0.3){ alert(“输出了”); }//这里是不会弹出的!

3.NaN NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
例如:在其他语言中,任何数值除以0都会导致错误。但在JavaScript中,任何数值除以0会返回NaN,因此不会影响其他代码的运行。
NaN的特点:
1.任何涉及NaN的操作,结果都为NaN
2.NaN与任何值都不相等,包括NaN本身。例如:下面的代码会返回false
alert(NaN == NaN); //false

数值转换:
我们可以使用三个函数Number()、parseInt()和parseFloat()将一个非数值转换为数值。
Number()函数的转换规则:
1.如果是布尔值,true和false将分别转换为1和0
2.如果是数字值,只是简单的传入和返回
3.如果是null,返回0
4.如果undefined,返回NaN
5.如果是字符串,遵循下列规则:
a.“11”会变成11
b.“1.1”会变成1.1
c.“0xf”会变成相同大小的十进制整数值
d. 如果字符串是空的,则将其转换为0
e. 如果字符串包含除上述格式之外的字符,则将其转换成NaN
var num = Number("hello"); console.log(num)//NaNvar num = Number(""); console.log(num)//0var num = Number("000011"); console.log(num)//11var num = Number(true); console.log(num)//1

parseInt()的转换规则:
1.忽略字符串前面的空格,直到找到第一个非空格字符
2.如果第一个字符不是数字或者是负号,返回NaN
3.空字符串,返回NaN
4.如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符。
5.如果字符串以0x开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样。
var a = parseInt("1234blue"); console.log(a)//1234var a =parseInt(""); console.log(a) // NaNvar a =parseInt("0xA"); console.log(a) // 10var a =parseInt(22.5); console.log(a) // 22var a =parseInt("070"); console.log(a)//70var a =parseInt("70"); console.log(a)//70var a =parseInt("0xf"); console.log(a) // 15

parseFloat()也是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。规则如下:
1.第一个小数点是有效的,第二个小数点无效
2.始终忽略前面的0,不分进制数
3.十六进制会被转换成0
4.空字符串转换为NaN
var num= parseFloat("1234blue"); console.log(num); //1234 var num= parseFloat("0xA"); console.log(num); //0 var num=parseFloat(""); console.log(num); //NaN var num=parseFloat("22.5"); console.log(num); //22.5 var num=parseFloat("22.34.5"); console.log(num); //22.34 var num=parseFloat("070.5"); console.log(num); //70.5 var num=parseFloat("3.12e7"); console.log(num); //31200000

布尔类型 布尔类型的字面值只有两个,true和false,可以使用Boolean()函数将一个非布尔类型转换为布尔类型。
注意:true和false是严格区分大小写的
var res=Boolean(undefined); console.log(res); js转化为布尔为假的有: false "" 0 NaN undefined null

a.对象 对象其实就是一些数据的集合,这些数据可以是字符串型、数字型和布尔型,也可以是复合型。
b.数组 数组与对象一样,也是一些数据的集合,这些数据也可以是字符串型、数字型、布尔型、或者是复合型。与对象不同,数组中的数据并没有命名,不能通过名字来引用该数据。在数组中,为每个数据都编了一个号(从0开始),为数组的下标
a.函数 函数是一段可执行的JavaScript代码,在JavaScript中,函数可以带有0个或多个参数,也可以返回一个值或不返回值。
b.null null是一个特殊的数据类型,其所代表的意思是“空”。需要注意,这个空并不代表是0或空字符串。null代表没有值,不是一个有效的数字、字符串、也不是数组、对象和函数,什么数据类型都不是。
c.undefined 【JavaScript|JavaScript 入门(二、JavaScript数据类型)】undefined也是一个特殊的数据类型,只有定义了一个变量但没有为该变量赋值,使用了一个并未定义的变量、或者是使用了一个不存在的对象的属性时,JavaScript会返回undefined。
undefined与null的区别:
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

    推荐阅读