JavaScript 给我 NaN,我不知道为什么。

huangapple go评论74阅读模式
英文:

Javascript gives me NaN and I don't know why

问题

I would like the punktzahl to increase by 5 points when I click on "Kleine Straße (=button)" and I no longer get NaN as a punktzahl.

This is my Code (It's German):

starteSpiel();

function starteSpiel() {
  var Punktzahl = 0;
  document.getElementById("punktzahl").innerText = Punktzahl;
}

function sonderKarte(Punktzahl) {
}

function Mittelwert(Punktzahl) {
  document.getElementById("MittelwertAusgabe").toggleAttribute("hidden");
}

function Chance(Punktzahl) {
  document.getElementById("ChanceAusgabe").toggleAttribute("hidden");
}

function VollesHaus(Punktzahl) {
}

function KleineStraße(Punktzahl) {
  var KleineStraßePunkte = 5;

  Punktzahl += KleineStraßePunkte;
  document.getElementById("punktzahl").innerText = Punktzahl;
}

function GroßeStraße(Punktzahl) {
}

function Gleiche3(Punktzahl) {
}

function Gleiche4(Punktzahl) {
}

function Gleiche5(Punktzahl) {
}

I'm developing my own dice game and don't know why I'm being issued NaN. I have searched the internet for 13 days and also asked Chat GPT, but I have not found anything that would have helped me.

I would be happy if someone could help me.

When the game comes out, the username of the person would be listed as the creator!

英文:

I would like the punktzahl to increase by 5 points when I click on "Kleine Straße (=button)" and I no longer get NaN as a punktzahl.

This is my Code (It's German):

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

starteSpiel();

function starteSpiel() {
  var Punktzahl = 0;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function sonderKarte(Punktzahl) {
}

function Mittelwert(Punktzahl) {
  document.getElementById(&quot;MittelwertAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}
        
function Chance(Punktzahl) {
  document.getElementById(&quot;ChanceAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}

function VollesHaus(Punktzahl) {
}

function KleineStra&#223;e(Punktzahl) {
  var KleineStra&#223;ePunkte = 5;

  Punktzahl += KleineStra&#223;ePunkte;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function Gro&#223;eStra&#223;e(Punktzahl) {
}

function Gleiche3(Punktzahl) {
}

function Gleiche4(Punktzahl) {
}

function Gleiche5(Punktzahl) {
}

<!-- language: lang-html -->

&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;de&quot;&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;TB_W&#252;rfelspiel&lt;/title&gt;
    &lt;style&gt;
        body {
            background-color: black;
            color: aliceblue;
            margin-left: 5vh;
        }

        .buttonAussehen {
            display: flex;
            flex-direction: column;
            margin-top: 5px;
            font-size: 10px;
        }
        .PunkteAusgabe{
            display: flex;
            flex-direction: row;
            font-size: 15px;
        }
    &lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;div&gt;
        &lt;pre class=&quot;PunkteAusgabe&quot;&gt;Du hast &lt;span id=&quot;punktzahl&quot; class=&quot;PunkteAusgabe&quot;&gt;&lt;/span&gt; Punkte erreicht! &lt;/pre&gt;

        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Mittelwert&quot; onclick=&quot;Mittelwert()&quot;&gt;Mittelwert&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Chance&quot; onclick=&quot;Chance()&quot;&gt;Chance&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;VollesHaus&quot; onclick=&quot;VollesHaus()&quot;&gt;Volles Haus&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;KleineStra&#223;e&quot; onclick=&quot;KleineStra&#223;e()&quot;&gt;Kleine Stra&#223;e&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gro&#223;eStra&#223;e&quot; onclick=&quot;Gro&#223;eStra&#223;e()&quot;&gt;Gro&#223;e Stra&#223;e&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche3&quot; onclick=&quot;Gleiche3()&quot;&gt;3 Gleiche&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche4&quot; onclick=&quot;Gleiche4()&quot;&gt;4 Gleiche&lt;/button&gt;
        &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche5&quot; onclick=&quot;Gleiche5()&quot;&gt;5 Gleiche&lt;/button&gt;

        &lt;br&gt;
        &lt;br&gt;

        &lt;div id=&quot;MittelwertAusgabe&quot; hidden&gt;
        &lt;p id=&quot;ZahlErkl&#228;rungMittelwert&quot;&gt;Bitte gib den Mittelwert ein!&lt;/p&gt;
        &lt;input type=&quot;number&quot; id=&quot;MittelwertZahl&quot;&gt;
        &lt;/div&gt;

        &lt;div id=&quot;ChanceAusgabe&quot; hidden&gt;
        &lt;p id=&quot;ZahlErkl&#228;rungChance&quot;&gt;Bitte gib alle Augenzahlen ein!&lt;/p&gt;
        &lt;input type=&quot;number&quot; id=&quot;ChanceZahl&quot;&gt;
        &lt;/div&gt;

    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

<!-- end snippet -->

I'm developing my own dice game and don't know why I'm being issued NaN.
I have searched the internet for 13 days and also asked Chat GPT, but I have not found anything that would have helped me.

I would be happy if someone could help me.

When the game comes out, the username of the person would be listed as the creator!

答案1

得分: 0

你有一个如下定义的函数:

function KleineStra&#223;e(Punktzahl) {
  var KleineStra&#223;ePunkte = 5;

  Punktzahl += KleineStra&#223;ePunkte;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

然后你这样调用它:onclick=&quot;KleineStra&#223;e()&quot;

这个函数期望传递一个数字给它的 Punktzahl 参数,而你没有传递任何东西给它。

为了修复这个问题,你需要像这样传递你想要的值:onclick=&quot;KleineStra&#223;e(1)&quot;

然而,在阅读你的代码时,看起来你可能对函数内部变量的工作方式不太熟悉。你在一个函数内定义了一个变量,然后在所有其他函数的参数上都有相同的名称,尽管你给它们都取了相同的名称,但它们在任何方面都没有连接在一起。我认为你可能打算写类似这样的代码:

// 在这里定义这个变量,以便所有函数都可以使用它
var Punktzahl = 0;

function starteSpiel() {
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function sonderKarte() {
}

function Mittelwert() {
  document.getElementById(&quot;MittelwertAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}

function Chance() {
  document.getElementById(&quot;ChanceAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}

function VollesHaus() {
}

function KleineStra&#223;e() {
  var KleineStra&#223;ePunkte = 5;

  Punktzahl += KleineStra&#223;ePunkte;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function Gro&#223;eStra&#223;e() {
}

function Gleiche3() {
}

function Gleiche4() {
}

function Gleiche5() {
}

// 最后调用这个函数,以便在它之前所有的函数都已存在!
starteSpiel();

这样的代码可以使你在不同的函数中共享相同的 Punktzahl 变量。

英文:

You have a function defined like this:

function KleineStra&#223;e(Punktzahl) {
  var KleineStra&#223;ePunkte = 5;

  Punktzahl += KleineStra&#223;ePunkte;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

And then you call it like this onclick=&quot;KleineStra&#223;e()&quot;

That function is expecting a number to be passed to it with the Punktzahl parameter, and you aren't passing anything to it.

To fix this you need to pass the value you want, like this: onclick=&quot;KleineStra&#223;e(1)&quot;


However, reading over your code, it looks like you may be new to how variables work inside functions. You have a variable defined inside one function, and then you have a parameter on all other functions with the same name, these are not connected in any way even though you named them the same thing. I think something like this might be what you intended to write:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

//Define this variable out here so that all the functions can use it
var Punktzahl = 0;

function starteSpiel() {
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function sonderKarte() {
}

function Mittelwert() {
  document.getElementById(&quot;MittelwertAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}
        
function Chance() {
  document.getElementById(&quot;ChanceAusgabe&quot;).toggleAttribute (&quot;hidden&quot;);
}

function VollesHaus() {
}

function KleineStra&#223;e() {
  var KleineStra&#223;ePunkte = 5;

  Punktzahl += KleineStra&#223;ePunkte;
  document.getElementById(&quot;punktzahl&quot;).innerText = Punktzahl;
}

function Gro&#223;eStra&#223;e() {
}

function Gleiche3() {
}

function Gleiche4() {
}

function Gleiche5() {
}

//Call the function last, so that all the functions exist before it!
starteSpiel();

<!-- language: lang-css -->

body {
    background-color: black;
    color: aliceblue;
    margin-left: 5vh;
}

.buttonAussehen {
    display: flex;
    flex-direction: column;
    margin-top: 5px;
    font-size: 10px;
}
.PunkteAusgabe{
    display: flex;
    flex-direction: row;
    font-size: 15px;
}

<!-- language: lang-html -->

&lt;div&gt;
    &lt;pre class=&quot;PunkteAusgabe&quot;&gt;Du hast &lt;span id=&quot;punktzahl&quot; class=&quot;PunkteAusgabe&quot;&gt;&lt;/span&gt; Punkte erreicht! &lt;/pre&gt;

    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Mittelwert&quot; onclick=&quot;Mittelwert()&quot;&gt;Mittelwert&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Chance&quot; onclick=&quot;Chance()&quot;&gt;Chance&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;VollesHaus&quot; onclick=&quot;VollesHaus()&quot;&gt;Volles Haus&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;KleineStra&#223;e&quot; onclick=&quot;KleineStra&#223;e()&quot;&gt;Kleine Stra&#223;e&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gro&#223;eStra&#223;e&quot; onclick=&quot;Gro&#223;eStra&#223;e()&quot;&gt;Gro&#223;e Stra&#223;e&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche3&quot; onclick=&quot;Gleiche3()&quot;&gt;3 Gleiche&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche4&quot; onclick=&quot;Gleiche4()&quot;&gt;4 Gleiche&lt;/button&gt;
    &lt;button class=&quot;buttonAussehen&quot; id=&quot;Gleiche5&quot; onclick=&quot;Gleiche5()&quot;&gt;5 Gleiche&lt;/button&gt;

    &lt;br&gt;
    &lt;br&gt;

    &lt;div id=&quot;MittelwertAusgabe&quot; hidden&gt;
    &lt;p id=&quot;ZahlErkl&#228;rungMittelwert&quot;&gt;Bitte gib den Mittelwert ein!&lt;/p&gt;
    &lt;input type=&quot;number&quot; id=&quot;MittelwertZahl&quot;&gt;
    &lt;/div&gt;

    &lt;div id=&quot;ChanceAusgabe&quot; hidden&gt;
    &lt;p id=&quot;ZahlErkl&#228;rungChance&quot;&gt;Bitte gib alle Augenzahlen ein!&lt;/p&gt;
    &lt;input type=&quot;number&quot; id=&quot;ChanceZahl&quot;&gt;
    &lt;/div&gt;

&lt;/div&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年4月11日 01:02:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/75979073.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定