我无法理解这段代码中的 parseInt 方法
i can't understand parseInt method in this code
代码就是这样:)
function test3(num) {
if (num <= 9) {
return num;
}
let rest = 1;
while (num) {
rest = rest * (num % 10);
num = parseInt(num / 10);
}
if (rest <= 9) {
return rest;
}
return test3(rest);
}
debugger;
let output = test3(786);
console.log(output); // --> 0
我理解其他逻辑,但是,我不理解'parseInt'
parseInt 逻辑如何工作?
显然我已经阅读了 mdn,以及任何 stackover flow 答案,不能很好地理解..
这里使用parseInt()
将小数点后可能有小数部分的数字转换为整数部分
之所以有效,是因为如果 parseInt()
的参数不是字符串,它会首先转换为字符串,然后从中解析整数前缀。所以parseInt(3.14)
等同于parseInt('3.14')
,即returns3
.
在此上下文中相当于 Math.floor()
。
代码就是这样:)
function test3(num) {
if (num <= 9) {
return num;
}
let rest = 1;
while (num) {
rest = rest * (num % 10);
num = parseInt(num / 10);
}
if (rest <= 9) {
return rest;
}
return test3(rest);
}
debugger;
let output = test3(786);
console.log(output); // --> 0
我理解其他逻辑,但是,我不理解'parseInt' parseInt 逻辑如何工作? 显然我已经阅读了 mdn,以及任何 stackover flow 答案,不能很好地理解..
parseInt()
将小数点后可能有小数部分的数字转换为整数部分
之所以有效,是因为如果 parseInt()
的参数不是字符串,它会首先转换为字符串,然后从中解析整数前缀。所以parseInt(3.14)
等同于parseInt('3.14')
,即returns3
.
在此上下文中相当于 Math.floor()
。