javascript类型转换比较灵活,再此用一篇博客记录下。
首先附上一张重要的javascript类型转换图表包含了简单的原始值转换。
js为类型转换提供的方法
Number(), parseInt(),parseFloat(),*1,-0// 转换为数字(通常是字符串)
String(), .toString() ,+"" // 转换为字符串
Boolean(),!! // 转换为布尔
Object() // 转换为对象
我们发现每一种转换都可以用运算符号实现,让我们来比较下其中的区别
Number("3.4.5"),*1,-0 // nan
parseInt("3.4.5") // 3
parseFloat("3.4.5") // 3.4
由此可见parseInt和parseFloat在输入错误的数字时并不会报错, 取值类似分割小数点, 但是在输入的第一个字符不是数字的时候返回nan
parseInt("11",2) //3
parseInt还可以把二进制字符串转换为数字
在处理财务时的数字处理方式 e+n表示*10的n次方
var s = 123.456
s.toFixed() // 123
s.toFixed(2) // 123.45
s.toFixed(5) // 123.45600
s.toExponential(1) // "1.2e+2"
s.toPrecision(2) //"1.2e+2"
s.toPrecision(5) //"123.46"
s.toPrecision(8) //"123.45600"
toString()方法比String()强大
17.toString(2) // "10001"
17.toString(16) // "11"
toString() 可以转2进制16进制等等 并用字符串返回
js布尔类型的比较比较复杂以下图说明(表示真的记不住)