帮助向自身和随机数添加变量(javascript)

发布于 2024-11-05 13:34:47 字数 623 浏览 4 评论 0原文

我正在制作一个简单的骰子滚轮,这对我来说似乎是一个很好的第一个项目,并且也可以帮助其他人学习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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独留℉清风醉 2024-11-12 13:34:47

发生这种情况是因为在 d6() 中使用变量 x 时未初始化它。 2个功能的范围不同。

您需要 x 成为全局变量。为此,请使用以下代码结构:

x = 0
function load() { ... }
function d6() { ... } 

请记住,当您声明前面带有关键字“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:

x = 0
function load() { ... }
function d6() { ... } 

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.

╭ゆ眷念 2024-11-12 13:34:47

您的 x 变量是函数的本地变量。将 x 更改为全局变量:

var x;
function load() { ... }
function d6() { ... }

Your x variables are local to the functions. change x to be a global variable:

var x;
function load() { ... }
function d6() { ... }
傲鸠 2024-11-12 13:34:47

使用 JavaScript 时,考虑名称和值的范围非常重要。 之间的区别

var x = 2;
function assignX(v) {
    x = v;
}
print(x); // 2 
assignX(3);
print(x); // 3

考虑一下 this:和 this:

function assignX(v) {
    var x = v;
}
print(x); // undefined
assignX(3);
print(x); // undefined

:在第一个示例中,x 存在于包含所有名称和值的全局范围内。在第二个示例中,x 仅存在于函数assignX 中。

When using JavaScript it is important to consider the scope of names and values. Consider the difference between this:

var x = 2;
function assignX(v) {
    x = v;
}
print(x); // 2 
assignX(3);
print(x); // 3

and this:

function assignX(v) {
    var x = v;
}
print(x); // undefined
assignX(3);
print(x); // undefined

In the first example x exists in the global scope which encloses all names and values. In the second example x only exists within the function assignX.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文