js while(i=0)循环执行了多少次?


var i;
        while(i=0){
            i--;
            alert();
        }

这串代码,测试循环执行了多少次,i一开始是没有被赋值的,在循环里被赋值,按道理应该是执行无限次,但是我实际运行在vscode上,并没有弹出消息框。后来我将i=0改成i=1,运行后一直在弹出消息框。请问一下,这是为什么?

img

你在while里面使用的是赋值语句,也就是说相当于直接丢一个值在里面(并不是boolean类型)。对于js来说,0相当于false,非0相当于true。
再看你的程序,while中固定为i=0,也就是说你的代码等价于while(0)
循环体中的i--不会影响到循环的判断条件,如果你要判断,需要使用 ==
有帮助请采纳,还有不懂的可以继续追问~