JavaScript经验技巧(二):非数值转换与进制转换详解

0 下载量 151 浏览量 更新于2024-08-31 收藏 75KB PDF 举报
在"每日十条JavaScript经验技巧(二)"这篇文章中,作者分享了关于JavaScript中数据类型转换和格式化的重要经验和技巧。首先,提到的是非数值类型转数值的过程: 1. Number()函数:将非数值类型转换为数值。需要注意,`undefined`会变成`NaN`;如果字符串以0开头,除非是八进制(但只有在ECMAScript3规范下),否则会忽略前导0;以`0x`开头的会被视为十六进制,其他非数字字符会导致转换失败。 2. parseInt()函数:解析字符串中的整数。它会忽略前导空格,解析到第一个非数字字符结束,且区分十进制、八进制和十六进制(ES5之后有分歧)。通过提供基数参数,可以指定解析的进制,如`parseInt("10", 2)`会解析为二进制。 3. parseFloat()函数:解析浮点数,遇到无效的浮点数值字符即停止解析,并且解析十六进制数值会返回0。与parseInt不同,它不接受基数参数,总是解析为十进制。 4. toString()函数:用于将数值转换为字符串,可以根据需求输出不同进制,例如`var num = 123; num.toString(2) // '1111011'`可以输出二进制表示。 此外,文章还强调了对象转换为数值的流程,通常会先调用`valueOf()`方法,如果没有则使用`toString()`。对于对象没有`valueOf()`方法的情况,其转换过程可能比较复杂,具体取决于对象的实现。 这些技巧有助于开发者在处理JavaScript数据转换时避免常见错误,提高代码的可读性和兼容性。通过理解和掌握这些经验,开发人员可以更高效地处理各种数据类型,提升编程效率。