显式转换:
Number(数据)
转换成number类型
如果传入的是字符串:
字符串的内容不能包含非数字,只要包含非数字那么都是转成NaN
简单来说:字符串里面只要不是数字的写法都转成NaN
如果字符串内容是数字的写法,两边有空格,能转成这个数字
如果字符串内容是数字但是中间有空格,转成NaN
如果传入布尔
true就是1
false就是0
NaN和undefined都转成NaN
null转成0
Infinity转成Infinity
parseInt(数据):
如果能转换成数字,转换出来的一定是整数
原理:从左往右依次转,如果是数字就转成数字,如果是非数字就停止
妙用:如果对一个小数不想向上取整,也不想向下取整,也不想四舍五入
只是要整数部分,所以可以用parseInt
前后有空格也能转成数字
中间有空格,就只转到前面的
parseFloat:
除了可以转整数,还可以转小数
原理:从左往右依次转换,遇到第一个小数点会当小数,后面还遇到其他非数字就停止
隐式转换:
自动转换
直接在字符串前面写一个+就能转换成数字, 原来是内容是什么数字就是什么数字
直接在字符串前面写一个-就能转换成数字,原来内容是什么数字就是他的相反数
+和-前面不要加任意数据,如果加了,就相当于运算
一般用+来转换成数字,规则跟Number那种是一样的
参与除了+以外的运算也会自动转换成数字(建议还是自己先用+转换)
-,*,/,%
prompt接收到的数据是字符串类型,所以如果想转换成数字,就prompt前面写个+就行了
string(数据)
string()//可以把任何数据转换成string类型
变量名+toString();//方法
只能用在变量上,不能用在直接量;变量的值如果是undefined,null,结果会报错;
Boolean(数据);
除了0、空字符串("",''),undefined,null,NaN转换成false以外,其他都会转换成true