我必须为这个项目使用while循环,我知道for循环可能更容易,但只是必须这样做。
该功能需要根据用户想要查看的工作职责数来获取用户输入(1-5),然后调用数组编号(0-4),因此如果他们说3个工作职责,数组项0, 1,2需要打印。这是我到目前为止,它不断崩溃浏览器,不知道如何控制循环,并确保它打印出所有数组值而不是一个。
<script type="text/javascript">
function jobduties() {
var x = document.getElementById("input").value;
var y = x-1;
var duties = ["Sales", "Customer Service", "Management", "Driving", "Cleaning"];
while (x>=0) {
var y
document.getElementById("print").innerHTML=duties[y];
break;
}
}
</script>
<form>
点击查看此工作的工作职责。
这里的工作职责
答案 0 :(得分:1)
在while循环内增加x
的值你的x总是一样的,因此条件总是满足因此循环不会中断
答案 1 :(得分:1)
1 - 你的x永不减少,所以你在这永远的循环中存货
2 - 你内心不需要当地人。
function jobduties() {
var x = document.getElementById("input").value;
var y = 0;
var duties = ["Sales", "Customer Service", "Management", "Driving", "Cleaning"];
while (x > y) {
document.getElementById("print").innerHTML=duties[y];
y++;
}
}
答案 2 :(得分:0)
首先,摆脱在循环中重新创建y,因为它已经被创建了。其次,你的while循环是无限的,因为x总是大于0或小于它,因此,你的while循环将运行并变为无限或将被跳过。要解决while循环崩溃的问题,请尝试增加x。
假设i = x = 3(用户输入),我们将通过减去循环中的每一步来迭代直到它达到0。在每一步之后我们将打印i,这将给我们3,2,1
//Your code with input goes here
for(var i=x; i=0;i--){
document.Write(i);
}
答案 3 :(得分:0)
这是另一个刚刚经过测试的解决方案:
function jobduties() {
document.getElementById("print").innerHTML = ""
var x = parseInt(document.getElementById("input").value);
var y = 0
var duties = ["Sales", "Customer Service", "Management", "Driving", "Cleaning"];
while (y < x) {
document.getElementById("print").innerHTML = document.getElementById("print").innerHTML + "<br>" + duties[y];
y = y + 1;
}
}
&#13;
Number of duties:
<input type="Number" id="input">
<button onclick="jobduties()">Click me</button>
<p id="print"></p>
&#13;