修改parseInt方法:Javascript

修改parseInt方法:Javascript,javascript,parseint,Javascript,Parseint,我不想每次都使用parseInt('08',10)进行字符串到整数的转换 我们是否可以修改parseInt方法,以便我只能使用parseInt('08')而不是parseInt('08',10)?而不是修改内置函数parseInt,您可以这样定义自己的函数: function prseInt(n) { return parseInt(n, 10); } 并将应用程序中使用的所有出现的parseInt(n,10)替换为prseInt(n) 好吧,如果你还想重新定义,你可以这样做: 而且它

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


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

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

function prseInt(n)
{
    return parseInt(n, 10);
}
并将应用程序中使用的所有出现的
parseInt(n,10)
替换为
prseInt(n)

好吧,如果你还想重新定义,你可以这样做: 而且它有效


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

parseInt(xx)
(即,不带基数参数)在99%的时间内都能很好地工作,它所做的是尝试猜测您要的基数

对于像
8
这样的单个数字,它将正确地猜测基数10并给出整数8。问题是一个类似于
08
的字符串,它将猜测您想要的是八进制,并进行转换


无论何时使用
parseInt
,都应该始终提供基数参数

这是一个简单的方法,但我不想为此引入任何新的方法,有可能修改内置函数以实现它吗?这很好,直到另一个开发人员出现并认为他们发现了一个拼写错误,并将所有的
prseInt
更正为
parseInt
您无法修改内置函数。但是,是的,有可能,答案会更新。@PraveenKumar-得到什么?@PraveenKumar-哈哈哈,我看你还没有厌倦这个行业。给点时间。在理想的情况下,每个新开发人员都了解他们被分配到的项目的一切。在现实世界中,这是一个泥球,是许多人多年来开发出来的。没有很好的文档记录,也没有具体的指南。是的。你是绝对正确的,但是我们不能修改内置方法,所以我们可以使用每次parseInt(值)而不是parseInt(值,基数)?你可以使用
parseInt(值)
,就像我解释的那样-只要你理解行为。如果
的前缀是
0
,它会将其转换为八进制。不,您不能修改内置方法,否则它不会是“内置”的。
var origParseInt = parseInt;
parseInt = function(n) {
     return origParseInt(n, 10);
}
var str = "08";
var num = +str;

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