💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 数据类型转换 JavaScript是一种无类型的语言,这种“无类型”并不是指JavaScript没有数据类型,而是指JavaScript是一种松散型。因此,在JavaScript中定义一个变量时,不需要制定变量的数据类型,这就使JavaScript可以很方便、灵活地进行隐式类型转换。所谓隐式类型转换就是不需要进行定义,JavaScript会自动将某一个类型的数据转换成另一个类型的数据。JavaScript中除了可以隐式转换数据类型外,还可以显式转换数据类型。常用的类型转换方法有一下几种: ### 转换成字符串 JavaScript中3种主要的原始值布尔值、数字、字符串及其他对象都有toString()方法,可以把他们的值转换成字符串。 ~~~ var num=25; alert(num.toString());//输出 “25” ~~~ ### 转换成数字 ECMAScript提供了两种把非数字的原始值转换成数字的方法,即parseInt()和parseFloat().只有对字符串调用这些方法才能正确运行,其他类型返回的都是NaN. ①parseInt()方法。 parseInt()方法用于将字符串转换为整数,其格式为: ~~~ parseInt(numString,[radix]); ~~~ 说明: a.第一个参数为必选项,用来指定要转化为证书的字符串。 ~~~ parseInt("754abc87); // 返回值为754 parseInt("test456); //返回值为NaN 但数据类型是Number ~~~ b.第二个参数为可选项,使用该参数的parseInt()方法能够完成八进制、十六进制等数据的转换。其中[radix]表示要将numString作为几进制数进行转换,当省略时,默认将第一个数按十进制转换。 ~~~ parseInt("100abc",8) //返回值为64 ~~~ ②parseFloat()方法。 parseFloat()方法用于将字符串转换为浮点数,其格式为: ~~~ parseFloat(numString); parseFloat("19.32te"); //返回值为19.32 ~~~ ### 基本数据类型转换 在JavaScript中可以使用下面3个函数将数据转换成数字型、布尔型和字符串型。 ①Boolean(value): 把值转换成Boolean类型。如果要转换的值value为“至少有一个字符的的字符串”、“非0的数字”、或“对象”,那么Boolean()将返回true;如果要转换的值value为“空字符串”、“数字0”、undefined、null,那么Boolean()将返回false. ~~~ Boolean("");//返回false Boolean("-1");//返回true Boolean("new Object()");//返回true ~~~ false、undefined 、null、0、”” 为 false true、1、”somestring”、[Object] 为 true ②Number(value): 把值转换成数字(整型数或浮点数)。Number()与parseInt()、parseFloat()类似,区别在于Number()转换的是整个值,而parseInt()、parseFloat()则可以只转换开头部分。 ~~~ Number("1.2.3"); //返回NaN parseInt("1.2.3"); //返回1 parseFloat("1.2.3"); //返回1.2 ~~~ ③String(value): 把值转换成字符串。String()与toString()方法有些不同,区别在于对null或undefined值用String()进行强制类型转换可以生成字符串而不引发错误。 ~~~ var myNum; var t1=String(myNum); //t1的值为undefined var t2=myNum.toString();//这里会报错 ~~~