对while循环条件的for循环条件的疑问
使用for循环做这个题,把a.length赋值给len的时候,执行的时候就不循环了,输入一个值就跳出循环,不赋值给len,直接用a.length的时候就没问题,这是怎么回事啊,代码如下
var a=[],len=a.length; for(var i=0;i<=len;i++){ sum=prompt("输入员工工资"); a[i]=sum; if(a[i]=="退出"){ len-=1; break; } } document.write(a);
使用while的时候,用和for循环一样的循环条件,也会跳出循环,只有一个值,看了别的问题写的while条件是sum!=“退出”,但是while不能用<a.length为条件吗,代码如下
var a=[],i=0; while(i<=a.length){ sum=prompt("请输入工资"); a[i]=sum; i++; if(a[i]="退出"){ break; } } document.write(a);
0
收起
正在回答
1回答
for循环的问题:
1、如果在for循环外面定义了数组的长度:
现在a数组里面没有内容,len的值为 0,所以循环一次就满足了i<=len这个条件,就会停止循环。
2、如果在for循环中直接使用a.length,在数组内容不断改变的同时,数组的长度也会改变,所以可以正常执行。
while循环问题:
1、如果提前定义数组长度就和for循环的一样。
2、可以你这样判断,但是代码需要改动:
判断条件需要放在i++的前面,判断是否等于退出,要用两个等号,一个等号是赋值。最后将数组的长度减去1,否则包含‘退出’。
自己测试下,祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星