一、数值转换
JS 有三种方法可以将非数值类型转换为数值类型
Number( ):适用于任意数据类型。
parseInt( ) 和 parseFloat( ):只适用于将字符串转换为数值类型。
1、Number(arg )
(1)arg为Boolean ,true--->1 false--->0
(2)arg为null,返回0
(3)arg为undefined,返回NaN
(4)arg为字符串:空串返回0,纯数字字符串(包括+、-)返回去掉前导0的数字,十六进制转换为相应的十进制,其余的为NaN
2、parseInt(arg ) 将字符串逐个解析
(1)如果第一个字符不是数字字符或者正负号,将返回NaN。
(2)逐个解析字符(自动忽略空格),直到非数字字符停止,返回前面的数字字符。
(3)若字符串是小数,则只解析前面的整数,因为小数点不是数字字符。
(4)空字符串,返回NaN。
(5)八进制、十六进制 返回对应的十进制。(ECMAScript 3认为是八进制、ECMAScript 5认为是十进制)
(6)还有第二个参数,可指定进制。例如:var a=parseInt("AF",16) //175
3、parseFloat(arg )
(1)功能与上面类似,第一个小数点有效,第二个小数点无效。
(2)只解析十进制,没有第二个参数。如果参数是十六进制则返回 0。
(3)始终忽略前导0,如果字符串包含的是一个可解析为整数的数,则返回整数。
二、转换为字符串
1、toString( ) 可指定参数,参数为进制。
(1)数值、布尔值、对象和字符串都有这个方法,null和undefined没有。
2、String( arg ) 将任何类型的值转换为字符串。
(1)null 返回 “null” undefined 返回 “undefined”。
(2)布尔类型转换为对应的 true 和 false。
(3)数值转换为对应的数值。