JavaScript基本数据类型
Number,String,Boolean,Undefined, Null五大类
数据类型相互转换
Number()函数
字符串→数字:纯数字可以直接转换,否则转换为NaN
布尔值→数字:true为1,false为0
undefined→NaN
null->0
Number('123年') //NaN
Number('2e3') //2000
parseInt()函数
将字符串转换为整数,从第一个不为数字的那位起,后面的全部删掉
若第一位即为非数字,则转换为NuN
parseInt('3.14是圆周率') //3
parseInt('圆周率是3.14') //Nun
parseFloat()函数
将字符串转换为浮点数,与parseInt类似,但与parseInt不同的是,小数点是可以一起被转换的
parseFloat("3.14是圆周率") //3.14
String()函数
将其他值转换为字符串,一般是长什么样就转换为什么字符串,科学计数法和非十进制会转换为十进制的值
String(Infinity) //Infinity
String(2e3) //2000
String(oxf) //15
toString()方法
调用此方法,以转换为字符串
数字不可以直接调用,要加括号,以升格为对象,才可以调用
Boolean()函数
0,NaN ,’ ’ , 空字符串,undefined ,null 转换为布尔值时为false
其余都为true
Boolean('false') //true
隐式转换(机理:内部调用Number()函数)
3 * '4' //12
true + true //2
3 * '2天' //NaN
3 + '2天' //32天(此处的加号连接两个部分)
tips:
‘+’ 号的作用
连接两个数字时,为加法运算符,
否则为连字符
1 + 2 //3
1 + '2' //12
'1' + '2' //12
substring(),substr()和slice()方法的区别
不同点:
substring()和slice()都是截取(a,b)之间的子串,但前者a与b 的大小可以不考虑,后者只能够a<b;
substr(a,b)是截取从a开始往后数b位子串;
相同点:
substring(a,b)和slice(a,b)都是从a位截取到b但是不包括b;
三者都是:只输入a,没有输入b,则输出从a位开始到结束。