Javascript 如何从不同的函数中获取数值变量,将它们插入到方程中,并将答案输出到html中

Javascript 如何从不同的函数中获取数值变量,将它们插入到方程中,并将答案输出到html中,javascript,html,variables,global-variables,Javascript,Html,Variables,Global Variables,我是Javascript新手。我很难理解如何访问变量,这样我就可以将它们输入到一个等式中,并将答案输出回html html: <body> <div onclick="firstq(100)">100</div> <div onclick="firstq(150)">150</div> <div onclick="firstq(300)">300</div> <div i

我是Javascript新手。我很难理解如何访问变量,这样我就可以将它们输入到一个等式中,并将答案输出回html

html:

<body>

    <div onclick="firstq(100)">100</div>
    <div onclick="firstq(150)">150</div>
    <div onclick="firstq(300)">300</div>

    <div id="results"></div>

</body>
在这一点之前,它工作正常,将显示输出,但我真正想做的是根据不同的答案建立一个方程式,然后在单击另一个div后输出,类似于:

更多html:

<div onclick="secondq(5)">5</div>
<div onclick="secondq(10)">10</div>
<div onclick="secondq(20)">20</div>

<div id="thebutton" onclick="clickedthebutton()'>Click me!</div>
我不确定这些变量是否需要全局化,或者我忽略了什么


谢谢

要在javascript标记内声明全局变量do:

var answer1;
var asnwer2;

我在javascript代码中没有看到函数mamed
secondq(two)
,如果我理解你的意思,你可能会想这样做:

var calc = (function(){
    var answer1 = 0,
        answer2 = 0;

    function firstq(one) {
        answer1 = 300;
    }

    function secondq(two) {
        answer2 = two;
    }

    function clickedthebutton() {
        var theanswer = answer1*answer2;
        document.getElementById("results").innerHTML="The total is = "+theanswer;
    }

     return {
        firstq: firstq,
        secondq: secondq,
        clickedthebutton: clickedthebutton,
    }

}());

100
150
300
5.
10
20

哎呀,当我复制那篇文章时,我忘了用secondq替换firstq。我运行了它,它成功了。我看到你拆下了开关,我想它们是多余的,所以说得通。我仍在努力理解为什么将它包装在calc函数中使其工作。谢谢你!基本上,我使用的是所谓的显示模块模式。本质上,我声明了一个全局变量(即模块),它只公开所需的位;所以我们保留了答案1和答案2。
var answer1;
var asnwer2;
var calc = (function(){
    var answer1 = 0,
        answer2 = 0;

    function firstq(one) {
        answer1 = 300;
    }

    function secondq(two) {
        answer2 = two;
    }

    function clickedthebutton() {
        var theanswer = answer1*answer2;
        document.getElementById("results").innerHTML="The total is = "+theanswer;
    }

     return {
        firstq: firstq,
        secondq: secondq,
        clickedthebutton: clickedthebutton,
    }

}());
<div onclick="calc.firstq(100)">100</div>
<div onclick="calc.firstq(150)">150</div>
<div onclick="calc.firstq(300)">300</div>

<div id="results"></div>

<div onclick="calc.secondq(5)">5</div>
<div onclick="calc.secondq(10)">10</div>
<div onclick="calc.secondq(20)">20</div>

<div id="thebutton" onclick="calc.clickedthebutton()'>Click me!</div>