js的数据类型
-->基本类型(值类型):数字number、字符串string、布尔boolean
-->复合类型(引用类型):对象(数组Array、时间类型Date、函数类型Function、正则表达式RegExp...)
-->空类型:Null、Undefined
一:数据类型的转换
1显示转换
A.转数字:
如果要将一个string类型的数据转化成number可以用:
(1)Number转换:
var a="123"; a=Number(a); console.log(typeof a); // number
var a="abc"; a=Number(a); console.log(typeof a); // NaN
var a=" "; a=Number(a); console.log(typeof a); // 0
注意:①如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己number类型的(特例:true返回1 false返回0)
②如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果为NaN
③如果转换的内容是空的字符串(null),那么转换的结果为 0
④如果是其他的字符串,那么将来转化的结果为NaN
(2)ParseInt转换
var a="123"; a=parseInt(a); console.log(typeof a); //number
var a=" 456467abasb"; a=parseInt(a); console.log(a); //456467
var a=" a123"; a=parseInt(a); console.log(a); //NaN
var a=123.12 a=parseInt(a); console.log(a); //123
注意:①忽略字符串前面的空格,直到找到第一个非空字符,还会将数字后面的非数字的字符串去掉
②如果第一个数字不是数字符号或者负号,返回NaN
③会将小数取整(向下取整)
(3)parseFloat 浮点数(小数)
与parseInt一样,唯一的区别是parseFloat可以保留小数
B.转字符串
可以将其他的数据类型转换成字符串
(1)String()
var a123; a=String(a);
(2)toString()的方法来进行转换(包装类)
var a=123; a=a.toString();
注意:null和undefined没有toString方法的,String所有类型都能转
C.转Boolean类型
可以将其他类型转为boolean值 Boolean()
var a="true"; a=Boolean(a);
注意:在进行转换的时候,所有的内容在转化以后结果都是true,除了:false、" "(空字符串)、0、NaN、null、undefined、“”
2.隐式转化
a)转number
var a="123"; a=+a;
注意:+、-、*、/、%都可以将字符串隐式转换成number
b)转String
var a=123; a=a+" ";
c)转boolean
var a=123;
console.log(typeof a); //number a=!!a;
console.log(typeof a); //true
a=!a;
console.log(typeof a); //false