所以我有以下代码:
var func1 = function() {
var userChoose = prompt("Choose a number from 1-10. If you choose the same number as the computer, you win!");
func2();
};
var func2 = function() {
computerChoose = Math.random();
computerChoose = Math.round(computerChoose*10)/10;
if (userChoose === computerChoose) {
console.log("You won! The computer chose the number " + userChoice + " just like you! Good job!");
} else if (userChoose > 10) {
console.log("I'm sorry, you wrote something above 10. Try again.");
} else {
console.log("Sorry! The computer got " + computerChoose +
" and you got " + userChoose + ". Sorry!");
}
};
func1();
我遇到的问题是,一旦我输入一个数字,比如说5,它将保留该数字,每次运行代码时都会说“抱歉!计算机得到x,你得到5”,即使我把3。
如果我错了,请纠正我,但我相信这是因为我正在尝试更改函数内部的变量。我的主要问题是如何全局化函数内部的变量,以便可以在不同的函数中使用和修改它?
谢谢。
答案 0 :(得分:2)
您可以在调用函数时传递值。试试这个:
var func1 = function() {
var userChoose = prompt("Choose a number from 1-10. If you choose the same number as the computer, you win!");
func2(userChoose);
};
var func2 = function(userChoose ) {
computerChoose = Math.random();
computerChoose = Math.round(computerChoose*10)/10;
if (userChoose === computerChoose) {
console.log("You won! The computer chose the number " + userChoice + " just like you! Good job!");
} else if (userChoose > 10) {
console.log("I'm sorry, you wrote something above 10. Try again.");
} else {
console.log("Sorry! The computer got " + computerChoose +
" and you got " + userChoose + ". Sorry!");
}
};
func1();