Java 循环脚本
Java Script for loop
我希望循环 运行 直到提示的值,但它会无限循环。
需要帮忙。这是我的 javascript 代码:
My code
var round = prompt("enter text");
var roundno = round;
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length
function myFunction() {
for (var i = 0; i = roundno; i + 1) {
console.log(i);
setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]);
}, 1500);
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);
if (i = roundno) {
break;
}
}
}
你没有递增i
改变
i + 1
以下之一:
i++
i += 1
i = i + 1
您还需要修复循环末尾的 if
语句。您要检查 i
是否等于 roundno
。不要使用将 roundno
的值赋给 i
的赋值运算符 =
,而是使用 ==
或 ===
进行相等性检查。
if (i == roundno) {
break;
}
你在循环条件中也犯了同样的错字。将循环条件更改为 i == roundno
并删除循环末尾的 if
语句,因为在固定循环条件的情况下,循环内的 if
语句是不必要的。
for (var i = 0; i == roundno; i++) {
// code
}
你的代码有很多问题。
var round = prompt("enter text"); // how do you know the user enters a number?
var defaultNumberOfRounds = 1; // I added this row
// CHANGED THIS IN EDIT
var roundno = round; // should be: isNaN(Number(round)) ? defaultNumberOfRounds : round
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length
function myFunction() {
// CHANGED THIS IN EDIT the conditions within () should be: var i = 0; i < roundno; i++
for (var i = 0; i = roundno; i + 1) {
console.log(i);
// all iterations in the loop will execute this at the same time.
setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]); // JQuery
}, 1500);
// all iterations in the loop will execute this at the same time.
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);
if (i = roundno) { // should be i == roundno
break; // don't need to break it, because your for loop's condition should take care of this
}
}
}
} // ADDED THIS IN EDIT: missing curly bracket
[edit] 我添加了一个片段来表明我的代码正在运行。我注释了 for 循环中的所有代码,我不得不更改声明 roundno
和 for 循环中的语句。
var round = prompt("enter text");
var defaultNumberOfRounds = 1;
var roundno = isNaN(Number(round)) ? defaultNumberOfRounds : round;
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length;
console.log(`round: ${round}, roundno: ${roundno}`);
function myFunction() {
for (var i = 0; i < roundno; i++) {
console.log(i);
/*setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]); // JQuery
}, 1500);
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);*/
}
}
myFunction();
我希望循环 运行 直到提示的值,但它会无限循环。 需要帮忙。这是我的 javascript 代码: My code
var round = prompt("enter text");
var roundno = round;
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length
function myFunction() {
for (var i = 0; i = roundno; i + 1) {
console.log(i);
setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]);
}, 1500);
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);
if (i = roundno) {
break;
}
}
}
你没有递增i
改变
i + 1
以下之一:
i++
i += 1
i = i + 1
您还需要修复循环末尾的 if
语句。您要检查 i
是否等于 roundno
。不要使用将 roundno
的值赋给 i
的赋值运算符 =
,而是使用 ==
或 ===
进行相等性检查。
if (i == roundno) {
break;
}
你在循环条件中也犯了同样的错字。将循环条件更改为 i == roundno
并删除循环末尾的 if
语句,因为在固定循环条件的情况下,循环内的 if
语句是不必要的。
for (var i = 0; i == roundno; i++) {
// code
}
你的代码有很多问题。
var round = prompt("enter text"); // how do you know the user enters a number?
var defaultNumberOfRounds = 1; // I added this row
// CHANGED THIS IN EDIT
var roundno = round; // should be: isNaN(Number(round)) ? defaultNumberOfRounds : round
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length
function myFunction() {
// CHANGED THIS IN EDIT the conditions within () should be: var i = 0; i < roundno; i++
for (var i = 0; i = roundno; i + 1) {
console.log(i);
// all iterations in the loop will execute this at the same time.
setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]); // JQuery
}, 1500);
// all iterations in the loop will execute this at the same time.
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);
if (i = roundno) { // should be i == roundno
break; // don't need to break it, because your for loop's condition should take care of this
}
}
}
} // ADDED THIS IN EDIT: missing curly bracket
[edit] 我添加了一个片段来表明我的代码正在运行。我注释了 for 循环中的所有代码,我不得不更改声明 roundno
和 for 循环中的语句。
var round = prompt("enter text");
var defaultNumberOfRounds = 1;
var roundno = isNaN(Number(round)) ? defaultNumberOfRounds : round;
var images_arr = ["../img/paper.png", "../img/stone.png", "../img/sisor.png"];
var size = images_arr.length;
console.log(`round: ${round}, roundno: ${roundno}`);
function myFunction() {
for (var i = 0; i < roundno; i++) {
console.log(i);
/*setInterval(function () {
var x = Math.floor(size * Math.random())
$('#random').attr('src', images_arr[x]); // JQuery
}, 1500);
setInterval(function () {
var sound = new Audio("../audio/audio.mp3");
sound.play();
}, 3000);*/
}
}
myFunction();