Javascript 计算器-单击按钮不起作用

Javascript 计算器-单击按钮不起作用,javascript,calculator,Javascript,Calculator,我有一个问题: 我不知道为什么,但我的简单计算器不工作。如果我点击计算器的任何->“我的按钮”,没有任何东西在工作,Javascript也没有执行。数字或运算符未传递到->“#屏幕”中显示您看到问题出在哪里了吗 HTML文件: <BODY> <table> <tr> <td id="buttonCE">C</td> <td colspan=3 id="screen" >0</td> </tr>

我有一个问题: 我不知道为什么,但我的简单计算器不工作。如果我点击计算器的任何->“我的按钮”,没有任何东西在工作,Javascript也没有执行。数字或运算符未传递到->“#屏幕”中显示您看到问题出在哪里了吗

HTML文件:

<BODY>

<table>

<tr>
<td id="buttonCE">C</td>
<td colspan=3 id="screen" >0</td>
</tr>

<tr>
  <td  class="buttonNumber" >7</td>
  <td  class="buttonNumber" >8</td>
  <td  class="buttonNumber" >9</td>
  <td  class="buttonNumber" >/</td>
</tr>

<tr>
  <td  class="buttonNumber" >4</td>
  <td  class="buttonNumber" >5</td>
  <td  class="buttonNumber" >6</td>
  <td  class="buttonOperator" >-</td>
</tr>

<tr>
  <td  class="buttonNumber" >1</td>
  <td  class="buttonNumber" >2</td>
  <td  class="buttonNumber" >3</td>
  <td  class="buttonOperator" >+</td>
</tr>

<tr>
  <td  class="buttonNumber">0</td>
  <td  class="buttonOperator" >.</td>
  <td  id="buttonResult" >=</td>
  <td  class="buttonOperator">*</td>
</tr>
</table>

<script src="new.js"></script> 
<script src="app.js"></script>      

</BODY>    

您有一些语法错误

您正在尝试将screen.length设置为0,这是无效的。长度是只读的

if(screen.length=0&&buttonOperatorValue==“-”){

应该是:

if(screen.length==0&&buttonOperatorValue==“-”){

此处未定义
按钮数值。不确定您的意思是什么:

if (screen.length>0) {
    // 2nd conditional
    if (lastCharOfScreen!=buttonOperatorValue) {
         screen += buttonNumberValue
    }
}
我还建议使用分号结束JavaScript中的语句,并正确格式化代码


强烈建议您查看一下控制台中的错误。如果不亲自查看错误并进行调试,您将不会有太大进展。

控制台中有哪些错误?当我使用Visual Studio代码并在new.js上运行调试时,我会收到一个错误:ReferenceError:文档未定义de:\calculator\new.js:4 var screen=document.querySelector(“#screen”).textContent^ReferenceError:未在对象上定义文档。(e:\Nowy folder\StronaWWW\Kalkulator\new.js:4:14)在模块上。_compile(internal/modules/cjs/loader.js:699:14)在Object.Module.模块上。_extensions..js(internal/modules/cjs/cjs/loader.js:713:10)在Module.load上(内部/modules/cjs/loader.js:612:32)当我使用Visual Studio代码并在app.js上运行调试时,我收到一个错误:ReferenceError:橡皮擦函数未定义->我认为这很奇怪,因为new.js中有声明,HTML文件中加载脚本文件的顺序正确。您是否确实尝试在web浏览器中打开网页?谢谢。我更改了您发现的这两个错误。现在好多了。不幸的是,我仍然无法运行/单击按钮查看准备好的表格/计算器中正在运行的计算。
'use strict'

eraseFunction()
resultFunction()
numberFunction()
operatorFunction()
if (screen.length>0) {
    // 2nd conditional
    if (lastCharOfScreen!=buttonOperatorValue) {
         screen += buttonNumberValue
    }
}