我有一个简单的Javascript Math程序。它可以让您回答方程式,并在检查您的答案时提醒您回答正确还是错误。

这是添加的代码:

function randomAdd()
        {
            var x=document.getElementById("AddN1");
            x.value=Math.floor((Math.random()*12)+1);

            var y=document.getElementById("AddN2");
            y.value=Math.floor((Math.random()*12)+1);
        }

        function checkAdd()
        {
            var z=document.getElementById("AddA2");
            z.value= parseInt(document.getElementById("AddN1").value) + parseInt(document.getElementById("AddN2").value);


            if(parseInt(document.getElementById("AddA1").value)==z.value)
            {
                score=score+1;
                alert("Addition: Correct");
            }
            else
            {
                alert("Addition: Incorrect");
            }
        }
<form name="Addition">
        <table>
            <tr>
                <th>Addition</th> <th></th> <th></th> <th></th> <th></th> <th></th>
            </tr>
            <tr>
                <th>Number 1</th> <th></th> <th>Number 2</th> <th></th> <th>Type Your Answer</th> <th>Correct Answer</th>
            </tr>
            <tr>
                <td><input type="text" name="AddN1" id="AddN1"></td> <td>+</td> <td><input type="text" name="AddN2" id="AddN2"></td> <td>=</td> <td><input type="text" name="AddA1" id="AddA1"></td> <td><input type="text" name="AddA2" id="AddA2"></td>
            </tr>
            <tr>
                <td><input type="button" value="Get Numbers" onclick="randomAdd();"> <td></td> <td></td> <td></td> <td><input type="button" value="Check Answer" onclick="checkAdd();"> <th></th>
            </tr>
        </table>
</form>


该代码是由我的大学提供给我的。
我想保留一个简单的计数器,该计数器将对用户得到的所有正确答案进行计数,并且还有一个重置按钮,该计数器会将计数器重置为零?

抱歉,这听起来真的很基础,但是我没有Java经验。

谢谢。

最佳答案

我还没有测试过,但是我怀疑您的代码默认情况下几乎可以正常工作,但是唯一的问题是您没有在全局范围内声明您的score变量,这样其他函数就可以访问同一变量而无需进一步传递。

在页面顶部添加var score = 0;应该可以使其正常工作,然后在不使用var的情况下使用它,例如score++;增加一个,score = 0;重置它,依此类推。 ,因为它无论如何都要进行学校作业-只是想向您介绍全局变量的用法。 :)但是,尽量避免创建许多全局变量,因为这也被称为坏习惯,尽管有时没有它们就很难生存。从global variables, bad practice?阅读更多

针对您的代码的一些调试技巧:

var scoreElement=document.getElementById("score");


该行在加载DOM之前执行,因此它可能为null。尝试更改以下行:

alert("Addition: Correct");
scoreElement.value=score;




document.getElementById("score").value=score;


还将所有JavaScript移至页面底部(例如,在</body>标记下)-这就是正确的方法。另外,为什么不真正使用jquery.js时却要加载它呢?例如,您可以将所有JavaScript代码添加到准备就绪的内部文档中。像这样:

$(function() {

    // your javascript code

});

10-04 22:50
查看更多