【发布时间】:2021-01-28 23:14:33
【问题描述】:
我正在尝试创建一个全局范围的变量,它存储一个提示值(玩家的名字),但只有在我单击“开始”按钮时才会触发。(这就是为什么没有在函数 Start 之外声明该变量的原因)
我怎样才能让这个变量值(玩家的名字)可以被其他函数访问,但只在我点击开始按钮时才调用提示?
Game.start.onclick = function Start(){
let namePlayer1 = prompt("Hello Player 1 ! What is your name?");
let namePlayer2 = prompt("Hello Player 2 ! What is your name?");
return alert(namePlayer1 + "- You have the symbol 'X'.\n"+ namePlayer2 +
"- You have the symbol 'O'.\nClick on the button Change Turn to start!")
}
【问题讨论】:
-
您在函数内声明了这些变量,因此它们的作用域在此函数内。如果您希望它们可以在外部访问,则在外部声明它们(并在函数内部更改它们的值,这仍然很好)。
-
是的,我知道。但是如果我在外面声明它们,在我点击开始按钮之前会调用提示!
-
你想在你的全局范围内声明变量,但不给它们赋值,就像
let namePlayer1;然后简单地删除你函数中的 let 关键字,你就应该准备好了!跨度> -
在你的第一行 javascript 代码中只写 var namePlayer1 ="", namePlayer2 ="" 并删除 start.onlick 函数中的 let partonly
-
是的,我知道你在说什么@ArthurBoucher。其实我想通过一个函数来改变全局变量谢谢
标签: javascript function scope prompt