风趣的 JS 强制转换
之前我们已经说了 js 中的隐式转换,那么当我们需要将字符串转换为数字时,应该怎么办呢?这时我们就需要用到强制转换了,强制转换和隐式转换不一样,无法由 js 自动进行,这边我们就需要用到 js 的函数了。
如果需要将任意类型转换为数字类型,就需要用到以下三种函数:
Number()
parseInt()
parseFloat()
Number() 函数
可以将任意类型的参数 a 转换为数值类型。
1.如果是布尔值,true 和 false 分别被转换为 1 和 0。
2.如果是数字值,返回本身。
3.如果是 null,返回 0。
4.如果是 undefined,返回 NaN。
5.如果是字符串,遵循以下规则:
a.如果字符串中只包含数字,则将其转换为十进制。
b.如果字符串中包含有效的浮点格式,将其转换为浮点数值。
c.如果是空字符串,将其转换为 0。
d.如果字符串中包含非以上格式,则将其转换为 NaN。
Number(“Hello JavaScript!”);
输出:NaN
Number(“0×8″);
输出:NaN
Number(“”);
输出:0
Number(“020dd”);
输出:NaN
Number(“070″);
输出:70
Number(true);
输出:1
parseInt() 函数
将字符串转换为整数类型的数值。
1.忽略字符串前面的空格,直至找到第一个非空字符。
2.如果第一个字符不是数字符号或者负号,返回 NaN。
3.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止。
4.如果上步解析的结果以 0 开头,则将其当作八进制来解析;如果以 x 开头,则将其当作十六进制来解析。
parseInt(“Hello JavaScript!”);
输出:NaN
parseInt(“0×8″);
输出:0
parseInt(“”);
输出:NaN
parseInt(“020dd”);
输出:20
parseInt(“070″);
输出:70
parseInt(“22.5″);
输出:22
parseFloat() 函数
将字符串转换为浮点数类型的数值。它与 parseIn() 基本相同,但也有点区别,字符串中第一个小数点符号是有效的,如果字符串包含一个可解析为整数的数,则返回整数值而不是浮点数值。
toString() 函数
除 undefined 和 null 之外的所有类型的值都具有 toString() 方法,其作用是返回对象的字符串类型。
String() 函数
将任何类型的值转换为字符串。
1.如果有 toString() 方法,则调用该方法(不传递参数)并返回结果
2.如果是 null,返回 "null"。
3.如果是 undefined,返回 "undefined"。
Boolean() 函数
将任何类型的值转换为布尔值。这些值会被转换为false:false、""、0、NaN、null、undefined,其余任何值都会被转换为true。
关注文教Crazy,持续更新,敬请期待!
领取专属 10元无门槛券
私享最新 技术干货