Javascript 不确定如何使这个计算器功能工作

Javascript 不确定如何使这个计算器功能工作,javascript,html,css,Javascript,Html,Css,很快就要交数学作业了 我试着应用干燥的概念,但我不知道怎么做。我开始编写一个适用于所有数字的函数,但中途我意识到它不可能工作。匿名函数需要更改我知道,但我现在不能,因为我不知道实现它的其他方法 document.querySelector(".button").addEventListener("click", function) { num = document.getElementById('something'); if (num != null && num

很快就要交数学作业了

我试着应用干燥的概念,但我不知道怎么做。我开始编写一个适用于所有数字的函数,但中途我意识到它不可能工作。匿名函数需要更改我知道,但我现在不能,因为我不知道实现它的其他方法

document.querySelector(".button").addEventListener("click", function) {
  num = document.getElementById('something'); 

  if (num != null && num === document.getElementById("zero")) {
    calculation = calculation.concat("0");
  } else if (num != null && num === document.getElementById("one")) {
    calculation = calculation.concat("1");
  } else if (num != null === && num document.getElementbyId("two")) {
    calculation = calculation.concat("2");
  } else if (num != nul && num === document.getElementbyId("three")) {
    calculation = calculation.concat("3");
  } else if (num != nul && num === document.getElementbyId("four")) {
    calculation = calculation.concat("4");
  } else if (num != nul && num === document.getElementbyId("five")) {
    calculation = calculation.concat("5");
  } else if (num != nul && num === document.getElementbyId()) {
    calculation = calculation.concat("6");
  }
}

每个数字都在表中的按钮内。他们也有身份证来识别他们是哪个号码。我不是在找代码,我不想剽窃任何东西。只是想了解我可以做什么不同的建议。

最简单的方法是编写一个通用函数:

var buttons=document.querySelectorAll(“按钮”);
对于(变量i=0;i}
我认为使用jquery会更容易。只是一个建议

请看小提琴

我已经为所有按钮添加了一个“show”类,我们希望在单击时在屏幕上显示这些按钮,并为所有操作员按钮添加了一个“calc”类。将您的显示javascript替换为以下jquery

var calculation='';
$('button.show').click(function(){
 calculation = calculation.concat($(this).text());
 $('#screen').text(calculation);
});
还为计算添加了脚本


请参阅fiddle

num==文档。getElementById(“零”)
正在将一个对象与另一个对象进行比较。它们是不同的对象,因此这总是
false
。您需要比较它们的值。在某个时候,您开始编写
nul
,而不是
null
。如果语法不正确,则选择第二个
元素。一般要点:
文档。querySelector(“.button”)
选择第一个元素,其类为
“button”
。如果要选择
元素,请从选择器中删除
”。如果要选择所有按钮,则需要
.querySelectorAll(“按钮”)
,然后需要在结果列表上循环以将事件侦听器附加到各个项目(不能将事件侦听器附加到元素列表)。若要将值连接到字符串的结尾,只需说
计算+=“0”
,无需使用
.concat()
方法。请注意,此事件处理程序仅绑定到第一个按钮。@nnnn:谢谢。编辑了答案。但是…你的编辑与我说的无关。另外,请注意,
当前值
显示值
都将是字符串。