使用Number()函数
1、字符串转数组
- 含纯数字的字符串,直接转为数字
- 含非数字的内容,则转换为NaN
let str='123';
let num=Number(str); //123
let str1='a123';
num=Number(str1); //NaN
- 数字字符串含+/-表示正负,正常转换
let str='+123';
let num=Number(str); //123
str='-123';
num=Number(str); //-123
- 空字符串或全是空格的字符串,转换为数字0
let str="";
let num=Number(str); //0
str=" ";
num=Number(str); //0
2、布尔值转数字
- true转为1,false转为0
3、null转数字
- null转为0
4、undefined转数字
- undefined转为NaN
Number(null); //0
Number(undefined) //NaN
综上:
空字符串/null/fals --> 0
undefined和不仅含数字的字符串 --> NaN
利用 + - 算数运算符转换
在需要转换的类型前加上+/-
“+”不会改变数据的正负性,“-”会改变
+null; //0
-null; //-0
+undefined; //NaN
-undefined; //NaN
+'123'; //123
-"123"; //-123
+'1A23'; //NaN
使用parseInt()/parseFloat()转换
可以从不单纯含数字的字符串中提取连续的数字部分
parseInt('12a23'); //12
parseFloat('12.3a3.4'); //12.3
parseFloat('12.3.4abc'); //12.3