方法一:parseInt()方法
parseInt()方法将其他数据类型强制转化成数类型
转化原则是:
parseInt(true/false/null/undefined/对象/数组)转化为NaN
字符串的转化:
parseInt(‘123.123abc’)===123
parseInt(‘abc123’)===NaN
parseInt(‘123’)===123
parseInt(3.14e3)===3
纯数字的字符串按数值类型的转换
如果不是纯数字的,就获取字符串起始的数字的整数部分,如果字符串的起始不是数字,那么转化结果就是NaN
如果是科学计数法样式的字符串,那么不解析,直接转化为整数部分
数组的转化:
parseInt([2,3,4,1])===2
parseInt([NaN,3,4])===NaN
获取数组的第一个数据的整数部分,如果第一个数据没有整数部分(指的是第一个数据的起始不是数字),转化结果就是NaN
所以这里对于字符串’100px’的转化可以用parseInt()方法
parseInt(‘100px’)===100
var str='100px';
//方法一
var num=parseInt(str)
console.log(num);
方法二:将字符串裁切为数组
var str='100px';
var arr=str.split('px');
var num1=arr[0]-0;
console.log(num1);
这里先将字符串以符号‘px’为间隔转化成数组
结果就是arr=[‘100’,’’];
这时再获取数组的第一个数据单元稽即字符串’100’,这里再将字符串‘100’转化为数值100,使用的方法是字符串-0就将字符串‘100’转化成数值100了,-0的原理是JavaScript数据类型的自动转化
方法三利用字符串拼接和循环遍历数组取到字符串‘100’,然后转化成数值类型
var str='100px'
//方法三
var num2='';
for(i=0;i<3;i++){
num2+=str[i];
}
num2=num2*1;
console.log(num2);
原理:先建立一个空字符串,然后for循环依次取得字符串的前三个字符,将它们依次拼接到空字符串中,得到字符串‘100’,然后再‘100’1转化成数值100.这里1的原理也是JavaScript数值类型的自动转化