javascript - 用函数改变Javascript变量?

标签 javascript

我可以用 var computerChoice = Math.random(); 来做到这一点……并将该变量变成石头、布或剪刀……但现在我无法获得变量“winner” ' 进行更改,以便打印出结果。它只是不断打印出“未定义”。帮助?

 var choice1 = userChoice;
 var choice2 = computerChoice;


 var winner = "undefined";


 var compare = function (choice1, choice2) {//start function

     if (choice1 === choice2) {
         winner = "Tie game!";


     } else if (choice1 === "rock") {
         if (choice2 === "scissors") {
             winner = "rock wins";
         } else {
             winner = "paper wins";
         }
     } else if (choice1 === "paper") {
         if (choice2 === "rock") {
             winner = "paper wins";
         } else {
             winner = "scissors wins";
         }
    } else {
        if (choice2 === "paper") {
            winner = "scissors wins";
        } else {
            winner = "rock wins";
        }
    }

}//end function


confirm("You chose: " + userChoice + "\nSystem: " + computerChoice + "\nOutcome: " + winner);


compare(userChoice,computerChoice);

</script>

最佳答案

那是因为您在显示它之前没有对其进行更改。 调用confirm之前调用compare,因为compare是改变winner的函数。

compare(userChoice, computerChoice);
confirm("You chose: " + userChoice + "\nSystem: " + computerChoice + "\nOutcome: " + winner);

关于javascript - 用函数改变Javascript变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37125198/

相关文章:

javascript - 如何在 QML 中集成 Javascript 库 (socketio)?

javascript - 关于如何在播放器中为下一个/上一个添加自定义控件有什么想法吗?

javascript - Pentaho Javascript - 行操作

javascript - 在与 ng-repeat 相同的标签上使用 ng-click 并使用来自 ng-repeat 范围的参数

javascript - 单击幻灯片内的 span 元素时防止 slider 切换幻灯片

javascript - Rails 4 JS TypeError : $(. ..).previous 不是函数

javascript - 让 DuckDuckHack Instant Answer 在自己的网站上运行

javascript - 我应该将 Controller 代码放在 angularjs 应用程序中的哪里

javascript - 向左滚动div不起作用可滚动菜单 fiddle jquery

javascript - react native : ListView not displaying all rows