修改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