类型转换解析
强制类型转换:
ecmascript 中可用的 3 种强制类型转换如下:
boolean(value) - 把给定的值转换成 boolean 型;
如果该值是空字符串、数字 0、undefined 或 null,它将返回 false。
number(value) - 把给定的值转换成数字(可以是整数或浮点数);
number(false/null) //0
number(true) // 1
number(undefined/"1.2.3"/new object()) //nan
number("1.2") //1.2 字符串转数字
number(50) //50
string(value) - 把给定的值转换成字符串;
parseint()
parsefloat()
parseint() 函数可解析一个字符串,并返回一个整数。
parseint(string, radix)
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0x” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseint() 将返回 nan。
只转换第一个无效字符之前的字符串
var num1 = parseint("12345red"); //返回 12345
var num2 = parseint("0xa"); //返回 10
隐式类型转换:
==
console.log(undefined==null) // true
console.log('0'==0) //true 字符串转数字
console.log(0==false) //true 布尔转数字
console.log('0'==false) //2个都转成数字
console.log(null==false) //false
console.log(undefined==false) //false