使用Number()函数来对string进行强制类型转换是最直接的做法。不过,这种做法有一个局限性:如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。David Flanagan的JavaScript – The Definitive Guide 6th edition, 3.8.2节提到,用Number()函数来进行string-to-number转换时,函数只接受10进制字符串,但测试结果表明事实并非如此,Number()函数可以接受”0xff”作为参数并将其转换成数值255。
复制代码 代码如下: var a = " 42"; var b = " 42mm"; var c = "0xff"; var d = "42.34"; console.log(Number(a));//42 console.log(Number(b));//NaN console.log(Number(c));//255 console.log(Number(d));//42.34
复制代码 代码如下: var b = " 42mm"; var c = "0xff"; var x = "-12.34"; var y = "15.88"; var z = "101010"; console.log(parseInt(b));//42 console.log(parseInt(x));//-12 console.log(parseInt(y));//15 console.log(parseInt(c));//255 console.log(parseInt(z, 2));//42 console.log(parseInt(".1"));//NaN
复制代码 代码如下: var c = "0xff"; var d = "42.34"; console.log(parseFloat(c));//0, because "0xff" start with 0 console.log(parseFloat(d));//42.34 console.log(parseFloat(".1"));//0.1