一、六种数据类型
原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。包括:Number,Boolean,String,Undefined,Null,Symbol(es6新定义的)
引用类型:引用类型的值是保存在内存中的对象Object (注: Array是特殊的Object)。
二、判断数据类型
typeof方法 返回的类型
string:字符串类型
number:数字类型,包括整形,浮点型,NaN
function:function
object:数组,对象,null
boolean:true,false
undefined:undefined
PS:undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。
二、显示与隐式数据转换
一)、利用js提供的函数parseInt() , parseFloat() , Number() , Boolean() , String()进行数据转换
1.parseInt()
1.1) 忽略字符串前面的空格,直至找到第一个非空字符,还会将数字后面的非数字的字符
串去掉。
1.2) 如果第一个字符不是数字符号或者符号,返回NaN
1.3) 会将小数取整。(向下取整)
2.Number()
2.1) 如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己。
2.2) 如果要转换的内容是空的字符串,空数组,null,那以转换的结果是0.
2.3) 如果是其它的字符,那么将来在转换的时候结果是NaN.
3.Boolean()
String()和toString()方法都是将其它类型的变量转换为字符串的方法。但两者存在一定的区别:
x.toString(): 无法转换null和undefined:
二)、隐式类型转换指的是字符串和数值类型之间的转换,在进行字符串和数字之间进行减乘除取模运算或者进行比较运算时,他会自动把字符串转换为数字。转换数字的默认方法是调用Number(),进行加法运算则是将数字看成字符串进行拼接.