ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 1、转换成字符串 * 使用字符串方法toString([进制])转换,但是null和undefined无法转换。 * 使用顶层函数String()可以将任何数据类型转换成字符串,包括null和undefined。 * 在其他数据类型和字符串类型进行连接(+操作)操作时,会自动对其他数据类型使用String()强制转换成字符串,然后在相加(连) 将其他数据类型的值转换成字符串,可以使用toString(),也可以使用String()。区别在于String可以转换任何类型的值为字符串,toString()不能转换undefined和null。区别二是语法不同。 **使用语法:** ``` 使用toString() : 待转换的变量.toString(); 使用String() : String(待转换的变量); ``` 下面演示使用toString转换: ![](https://img.kancloud.cn/76/ad/76ade0f37bcd9c168feb44710cd7a935_979x219.png) 下面演示使用String转换: ![](https://img.kancloud.cn/45/06/450652e6730e24500005a9035239ad49_958x214.png) 隐式转换:在其他数据类型和字符串类型进行连接(+操作)操作时,会自动对其他数据类型使用String()强制转换成字符串,然后在相加(连) ![](https://img.kancloud.cn/b7/ef/b7ef0c29bc3377e4b825e8dba1dde292_586x130.png) > 注释:[object Object] 第一个object表示是何种数据类型,第二个Object表示是那种类型的对象 # 2、转换成数值型 # 2.1、parseInt() -- 转换成整型 parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN(not a number),不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt() 将把该字符之前的字符串转换成数字。 例如,如果要把字符串 "a12345red" 转换成整数,那么 parseInt() 将返回 12345,因为当它检查到字符 r 时,就会停止检测过程。 字符串中包含的数字字面量会被正确转换为数字,比如 "0xA" 会被正确转换为数字10。不过,字符串 "22.5" 将被转换成22,因为对于整数来说,小数点是无效字符。 ![](https://img.kancloud.cn/d1/e4/d1e4d4d6cf8e471263d87a65381de2f0_742x213.png) # 2.2、parseFloat() -- 转换成浮点型 道理和转换成整型道理一样,只不过浮点型允许有一个小数点出现。 ![](https://img.kancloud.cn/29/2c/292c4738fa39de7816d5eb317f056ce2_819x223.png) # 2.3、Number() -- 强制转换 Number() 函数的强制类型转换与 parseInt() 和 parseFloat() 方法的处理方式相似,只是它转换的是整个值,而不是部分值。 用 Number() 进行强制类型转换,"1.2.3" 将返回 NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number() 将判断是调用 parseInt() 方法还是 parseFloat() 方法。 ![](https://img.kancloud.cn/d8/9a/d89a0564861b3f93fabc8ea16c014641_710x272.png) # 3、转换成布尔型 显示的转换是使用Boolean()函数,对需要转换的内容进行转换。 以下内容在转换成布尔值时会被转换成false: * 数值型的 0 * 数值型的 0.0 * 布尔型的 false * 空字符串 "" * 非数字 NaN * undefined * null > 除此以外,其他所有值都会转换成true,包括 "0"、空数组 [] 和空对象 {} 。