帮助向自身和随机数添加变量(javascript)
我正在制作一个简单的骰子滚轮,这对我来说似乎是一个很好的第一个项目,并且也可以帮助其他人学习javascript,当你掷骰子(带有按钮)时,它应该添加到总数中(有一个清除按钮),但它显示 NaN。这是我的代码:
<html>
<body>
<script type="text/javascript">
function load()
{
document.getElementById("press").value=" "
var x=0
}
function d6()
{
var x=x+(Math.floor((Math.random() * 6) + 1));
document.getElementById("press").value=(x)
}
load()
</script>
<input type="button" value="Roll d6" onclick="d6()"/>
<input type="text" id="press"/>
</b>
<input type="button" value="Clear" onclick="load()"/>
</body>
</html>
非常感谢您的帮助。 谢谢!
I am making a simple dice roller, which seems like a good first project to me, and may help others learn javascript as well, and when you roll a die (with a button), it is supposed to add to the total (there is a clear button), but it says NaN. Here is my code:
<html>
<body>
<script type="text/javascript">
function load()
{
document.getElementById("press").value=" "
var x=0
}
function d6()
{
var x=x+(Math.floor((Math.random() * 6) + 1));
document.getElementById("press").value=(x)
}
load()
</script>
<input type="button" value="Roll d6" onclick="d6()"/>
<input type="text" id="press"/>
</b>
<input type="button" value="Clear" onclick="load()"/>
</body>
</html>
Help would be greatly appriciated.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
发生这种情况是因为在 d6() 中使用变量 x 时未初始化它。 2个功能的范围不同。
您需要 x 成为全局变量。为此,请使用以下代码结构:
请记住,当您声明前面带有关键字“var”的变量时,该变量被视为本地变量。没有“var”的变量被视为全局变量。
This is happenning because variable x is not initialised when you are using it in d6(). The scope of the 2 functions is different.
You need x to be a global variable. For that, use the following code structure:
Remember that when you declare a variable with the keyword 'var' preceding it, the variable is considered local. A variable without a 'var' is considered global.
您的
x
变量是函数的本地变量。将x
更改为全局变量:Your
x
variables are local to the functions. changex
to be a global variable:使用 JavaScript 时,考虑名称和值的范围非常重要。 之间的区别
考虑一下 this:和 this:
:在第一个示例中,
x
存在于包含所有名称和值的全局范围内。在第二个示例中,x
仅存在于函数assignX
中。When using JavaScript it is important to consider the scope of names and values. Consider the difference between this:
and this:
In the first example
x
exists in the global scope which encloses all names and values. In the second examplex
only exists within the functionassignX
.