在Javascript计算器中获取NaN作为输出

在Javascript计算器中获取NaN作为输出,javascript,html,Javascript,Html,我正在使用JavaScript创建一个简单的计算器。我写了一个函数来计算结果。但即使我使用了parseInt,我还是将NaN作为输出 HTML代码是: <div class="row" id="display"> <div class="col-sm-12"> <!--display here--> </div> </div> <div class="row" id="func">

我正在使用JavaScript创建一个简单的计算器。我写了一个函数来计算结果。但即使我使用了parseInt,我还是将NaN作为输出

HTML代码是:

<div class="row" id="display">
    <div class="col-sm-12">
        <!--display here-->
    </div>
</div>
<div class="row" id="func">
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">1</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">2</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">3</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">+</button>
        </div>
        <div class="row" id="func">
            <button type="button" class="btn btn-lg btn-secondary" id="zero-btn" onclick="myFunction(this)">0</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">.</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="calculate()">=</button>
        </div>
<div class="row" id="display">

</div>


由于HTML代码的原因,出现了错误。 元素内部不应该有任何id为“display”的内容。 正确的代码是:

<div class="row" id="display">
    <div class="col-sm-12">
        <!--display here-->
    </div>
</div>
<div class="row" id="func">
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">1</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">2</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">3</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">+</button>
        </div>
        <div class="row" id="func">
            <button type="button" class="btn btn-lg btn-secondary" id="zero-btn" onclick="myFunction(this)">0</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="myFunction(this)">.</button>
            <button type="button" class="btn btn-lg btn-secondary" onclick="calculate()">=</button>
        </div>
<div class="row" id="display">

</div>


错误在于str变量包含:

<div class=\"col-sm-12\">
        <!--display here-->
</div>
Calculation 

这不是制作计算器的最好方法,而是按照你的方式 首先编辑Html代码并将显示Id添加到col Div

  <div class="col-sm-12" id="display">

  </div>
然后使用split获取数字,记住两个以上的数字是行不通的

   var NumberOne = str.split(operator)[0];
   var NumberTwo = str.split(operator)[1];
将数字解析为int

   var op1 = parseInt(NumberOne);
   var op2 = parseInt(NumberTwo);
切换运算符变量

   switch(operator){ ..
   ....

现在它工作了

打印op1和op2的值,检查值是否为正确的整数。然后检查生成op1和op2的步骤…@Drashti这就是问题所在,获取输入值时出现问题。
   switch(operator){ ..
   ....