-1

我不想每次都使用parseInt('08', 10)每个字符串到整数的转换,

我们可以修改parseInt方法,以便我只能使用parseInt('08')而不是parseInt('08', 10).?

4

3 回答 3

5

parseInt您可以像这样定义自己的函数,而不是修改内置函数:

function prseInt(n)
{
    return parseInt(n, 10);
}

parseInt(n, 10)并将您在应用程序中使用的所有出现替换为prseInt(n).

好吧,如果你还想重新定义,你可以这样做:

var origParseInt = parseInt;
parseInt = function(n) {
     return origParseInt(n, 10);
}

它有效!

小提琴:http: //jsfiddle.net/QKKwv/

于 2012-10-12T07:36:02.693 回答
0

只需+在字符串前面使用运算符即可执行类型强制(无需调用parseInt()

var str = "08";
var num = +str;

console.log(num, typeof num);  // 8, number
于 2012-10-12T07:36:08.810 回答
0

parseInt(xx)(即,没有 radix 参数)在 99% 的情况下都可以正常工作,它会尝试猜测您所追求的基数。

对于像它这样的单个数字,8它会正确猜测 basse10 并给你整数 8。问题是一个字符串,08它会猜测你想要的是八进制,并将"08" 转换为八进制返回零

每当使用parseInt. _

于 2012-10-12T07:37:36.903 回答