函数作用:
parseInt将字符串(String)类型转为整数类型。
string:必选參数。要被转换的字符串
Number返回的是数字,其參数是对象。
在 var testStr1 = new String("5,000") 中,字符串中含有千位符。因此造成无法转换。尽管是非常小的细节,但也应当慎重。
parseInt将字符串(String)类型转为整数类型。
Number() 函数把对象(Object)的值转换为数字。
语法不同:
parseInt(string, [radix])
string:必选參数。要被转换的字符串
radix:可选,数字的基数。取值范围在2~36。
假设该參数小于 2 或者大于 36。则 parseInt() 将返回 NaN。
<pre name="code" class="javascript"> alert("parseInt1返回 " + parseInt("1", 1)); //返回NaN alert("parseInt0x123 " + parseInt("0x123")); //291 alert("parseInt000123 " + parseInt("000123")); //123
当參数 radix 的值为 0,或没有设置该參数时,parseInt() 会依据 string 来推断数字的基数。
假设 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
假设 string 以 0 开头,那么 ECMAScript v3 同意 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
假设 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
Number(object)
Number返回的是数字,其參数是对象。
假设对象的值无法转换为数字。那么 Number() 函数会返回 NaN。
var test = new Date() var testStr = new String("123"); var testStr1 = new String("5,000"); alert("Number(test) " + Number(test)); //返回1437631091369 alert("Number(testStr) " + Number(testStr)); //返回123 alert("Number(testStr1) " + Number(testStr1)); //返回NaN
在 var testStr1 = new String("5,000") 中,字符串中含有千位符。因此造成无法转换。尽管是非常小的细节,但也应当慎重。
含有千位符的字符串,不能直接转换,要先去掉千位符,再进行转换,也是由此引出这篇博客。