数值转换Number(), parseInt,parseFloat()
Number()可以转换任何数据类型:
Number("abc")-------->NaN
Number(true)------------->1
Number(false)------------->0
Number(078)---------------->虽然给的是八进制但是8超过八进制范围所以输出还是十进制78
Number(07)------------------->56
Number(0x1)-------------------->16
Number(Object obj)---------------->NaN
Number(NULL)--------------------------->0
Number("")-------------------------------->0
Number(undefined)------------------>NaN
Number("123")------------------------------->123
在任何数据类型前面加上+ 效果与Number()相同例如: +“0123”-------------->123
parseInt() 和 parseFloat() 用于把 字符串 转成数值
parseInt会解析到后面不是数字为止
parseInt(“1234blue”)----------->1234
parseInt("22.5")-------------------->此时的解析到小数点时认为不是数字 返回22
parseInt("070",8)----->转换为八进制
parseInt("0x1",16)------------------>转换为16进制
parseInt("")------------>NaN
parseFloat() 只解析10进制的值,因此没有像parseInt那样可以有两个参数区分要转换的进制,只解析到第一个小数点后面所有值
十六进制始终会被转换成0
parseFloat("11.22.33")------------------->11.22
parseFloat("0xA")--------------------------->0
parseFloat("123456blue")----------------------->123456
parseFloat("21e-7")----------------------------------------->2.1000000
parseFloat("012.3")-------------------------------------------------->12.3
String 字符串类型
字符串用“ ”或者‘ ’括起来,一旦创建便不可改变,
var a ="abcd", 数值,对象,布尔值,字符串都有toString()方法
而NUll和undefined则无此方法