控制台输出很多不明来由的零

var a,b;
var divide=function()
{
for(var j=0;a!==0;j++)
{
b=a%10;
a=a/10;
console.log(Math.floor(b));
}
}
divide(a=123);
控制台为什么输出那么多零,几百个数,除了3,2,1,为什么还有零,而且那么多个
我的循环次数没这么多啊

var a, b;
var divide = function()
{
    while (a != 0) {
        b = a % 10;
        a = Math.floor(a / 10);
        console.log(b);
    }
}

a = 123;
divide(a);

你让a每次除10, b是整数, 然后每次对b取整, a在除几次之后就变成小数0.123, 然后是0.0123, ... 一直到数据溢出, 变成0了才停止

初学编程的话建议给遍历起带语义的名字, 就别叫a, b了, 叫remain什么的更好一点