В настоящее время в вашем коде несколько ошибок.Вот как можно исправить каждое из них программно, начиная с вашего исходного кода и заканчивая тем, что, я полагаю, вы хотите:
1: в вашем коде много синтаксических ошибок.Для начала, вот чистая версия, чтобы было легче увидеть, что происходит:
var randNum = Math.floor(Math.random() * 3)
function getChoice() {
if (randNum) = 0) {
console.log("Choice 1")
}
else if (randNum = 1) {
console.log("Choice 2")
}
else (console.log("Choice 3")
}
}
getComputerChoice()
console.log(randNum)
Затем вы можете удалить все лишние скобки и добавить другие скобки:
var randNum = Math.floor(Math.random() * 3)
function getChoice() {
if (randNum = 0) {
console.log("Choice 1")
}
else if (randNum = 1) {
console.log("Choice 2")
}
else {
console.log("Choice 3")
}
}
getComputerChoice()
console.log(randNum)
НаконецВы можете добавить операторы эквивалентности ==
вместо операторов присваивания =
в свои операторы if
и добавить точки с запятой:
var randNum = Math.floor(Math.random() * 3);
function getChoice() {
if (randNum == 0) {
console.log("Choice 1");
}
else if (randNum == 1) {
console.log("Choice 2");
}
else {
console.log("Choice 3");
}
}
getComputerChoice();
console.log(randNum);
2: Ваша функция названа по-другому по сравнению с тем, что вы вызываете.Переименуйте вашу функцию в getComputerChoice()
:
var randNum = Math.floor(Math.random() * 3);
function getComputerChoice() {
if (randNum == 0) {
console.log("Choice 1");
}
else if (randNum == 1) {
console.log("Choice 2");
}
else {
console.log("Choice 3");
}
}
getComputerChoice();
console.log(randNum);
3: вы объявляете случайное число только один раз, поэтому оно никогда не изменится, независимо от того, сколько раз вы вызываете функцию.Чтобы исправить это, объявите randNum
как 0
вне функции, затем измените ее в функции:
var randNum = 0;
function getComputerChoice() {
randNum = Math.floor(Math.random() * 3);
if (randNum == 0) {
console.log("Choice 1");
}
else if (randNum == 1) {
console.log("Choice 2");
}
else {
console.log("Choice 3");
}
}
getComputerChoice();
console.log(randNum);
И теперь ваш код будет работать.Вот рабочий фрагмент:
var randNum = 0;
function getComputerChoice() {
randNum = Math.floor(Math.random() * 3);
if (randNum == 0) {
console.log("Choice 1");
} else if (randNum == 1) {
console.log("Choice 2");
} else {
console.log("Choice 3");
}
console.log(randNum);
}
<button onclick="getComputerChoice()">Random Number</button>
Примечание: предоставленный фрагмент кода размещает console.log(randNum)
внутри функции, поэтому, если randNum == 1
, вывод будет:
Choice 2
1