Javascript:在函数中全球化变量

Javascript: Globalizing variables inside function

本文关键字:全球化 变量 函数 Javascript      更新时间:2023-09-26

所以我有以下代码:

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。

如果我错了,请纠正我,但我相信发生这种情况是因为我正在尝试更改函数内的变量。我的主要问题是如何全球化函数中的变量,以便可以在不同的函数中使用和修改它?

谢谢。

可以在调用函数时传递值。试试这个:

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();

在这里演示