我试图调用一个方法,询问用户他们想要在阵列中创建多少条目,然后提示用户输入每个条目。我知道这可能是一个简单的错误,但我不知道为什么我的提示不起作用。
<script>
function testScore(){
var numberofScores = prompt("enter the number of scores:","");
var scores = new Array();
var whichScore=1;
for(var i=0; i<numberofScores; i++; whichScore++){
score[i]=prompt("enter score "+whichScore+":");
}
}
</script>
<a href="" onclick="testScore()">
Start Test score script
</a><br>
答案 0 :(得分:4)
循环配置有3个部分,因此有两个分号。添加第三个分号后,第4节中有whichScore++
。您可以使用逗号将其添加到配置的末尾。但是,将它添加到循环体中,而不是循环声明的一部分更清晰。也就是说,甚至不需要变量。只需使用(i + 1)
并注意我们在此处不修改i
,我们只是将其偏移用于显示目的。
此外,在循环中:score[i]
,需要scores[i]
,而您的<a>
元素应该有href="#"
而不是空属性。
最后,不要使用内联HTML事件处理属性:
this
的绑定。在JavaScript中使用 .addEventListener()
:
// When the DOM content is ready
window.addEventListener("DOMContentLoaded", function(){
// Get a reference to the hyperlink and create a click event handler for it:
document.getElementById("makeScores").addEventListener("click", testScore);
function testScore(){
var numberofScores = prompt("enter the number of scores:","");
var scores = new Array();
for(var i = 0; i < numberofScores; i++){
scores[i] = prompt("enter score " + (i + 1) + ":");
}
console.log(scores);
}
});
&#13;
<a href="#" id="makeScores">Start Test score script</a>
&#13;
答案 1 :(得分:0)
<script>
function testScore(){
var numberofScores = prompt("enter the number of scores:","");
var scores = new Array();
var whichScore=1;
for(var i=0; i<numberofScores; i++, whichScore++){
scores.push(prompt("enter score "+whichScore+":"));
//or
//scores[i]= (prompt("enter score "+whichScore+":"));
}
}
</script>
<a href="" onclick="testScore()">
Start Test score script
</a><br>
答案 2 :(得分:0)
这是一个使用您的代码的JSFiddle。你有很多事情在这里
https://jsfiddle.net/tcoedqkf/
首先,你的for循环除了增量之外还需要一个逗号(虽然为了便于阅读,我会在for循环中执行)
for(var i=0; i<numberofScores; i++,whichScore++){
for循环中的变量名称不正确(缺少S)
scores[i]=prompt("enter score "+whichScore+":");
答案 3 :(得分:0)
B
只有三个部分(用分号for
分隔):初始化,条件和增量。如果要初始化或增加更多变量,请使用逗号;
。像这样:
,
由于for(var i = 0; i < numberofScores; i++, whichScore++) {
// ...
基本上只是whichScore
,因此您不需要为此设置两个变量,只需i + 1
即可:
i
注意,for(var i = 0; i < numberofScores; i++) {
score[i] = prompt("enter score " + (i + 1) + ":");
// ...
中的括号是必需的,因此会添加数字而不是连接数。