修改parseInt方法:Javascript

时间:2012-10-12 07:33:56

标签: javascript parseint

我不希望每次parseInt('08', 10)使用每个字符串进行整数转换,

我们可以修改parseInt方法,以便我只能使用parseInt('08')代替parseInt('08', 10)

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

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

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

console.log(num, typeof num);  // 8, number

答案 2 :(得分:0)

parseInt(xx)(即没有基数参数)将在99%的时间内完美地工作,它会做的是尝试猜测你的基础。

对于像8这样的单个数字,它会正确猜测basse10并给你整数8.问题是像08这样的字符串它会猜测你想要的是八进制,并转换{{3} }。

每当使用parseInt时,您应始终提供基数参数。