上一节我们学习了JS中关于作用域的知识,本节我们将详细讲解JS中的数据类型该如何转换。
在JS中,一般会有这三种常见的数据类型转换:values->string(字符串)、values->Num(数字)和values->Boolean(布尔值):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> <script> let s = 'Dotcpp' let flag = true let n =0 /*values->string*/ let str1 = String(flag) let str2 = String(n) /*values->Num*/ let Num1 = Number(s) let Num2 = Number(flag) /*values->boolean*/ let bool1 = Boolean(s) let bool2 = Boolean(n) /*结果*/ console.log(str1); console.log(str2); console.log(Num1); console.log(Num2); console.log(bool1); console.log(bool2); </script> </html>
控制台打印结果如下:

通过强制类型转换,我们获得了想要的数据类型。
值得注意的是,字符串转数字会变成”NaN“,意思是”not a number“(不是数字);""、null、0、-0、undefined和NaN转boolean值时为false,其他为true。
当然,数据类型的转换存在隐式转换,如果符合我们的要求,我们是不需要强制类型转换的:
如果我们需要数字转字符串:
/*有字符串参与,默认转字符串*/ let n=100 let s='我的成绩是' let str = s+n console.log(str);//我的成绩是100
如果我们需要boolean转数字(true-1, false-0):
let num=0
for(let i=1;i<=10;++i)
{
let flag = (i%2===0)
num+=flag
}
console.log(`一共有${num}个偶数`);当然,如果我们其他类型转整数或小数,我们可以用到parseInt()函数和parseFloat()函数(这两个函数会解析字符串中的数字,忽略非数字字符)。
通常情况下我们是将字符串转整数和小数:
let s1='12345' let s2='1.2345' let int = parseInt(s1) let float = parseFloat(s2) console.log(int); console.log(float);
转换结果如下:

总结:一般情况下有字符串参与运算默认字符串拼接,如果对数据类型有固定需求,则转为对应数据即可,需要学会转换规则;如果是字符串转整型和浮点型,用parseInt()函数和parseFloat()函数最为直观。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程