我无法理解这段代码中的 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()