Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的javascript计算器不是';行不通_Javascript_Html_Css - Fatal编程技术网

我的javascript计算器不是';行不通

我的javascript计算器不是';行不通,javascript,html,css,Javascript,Html,Css,所以我试图用javascript制作一个计算器,但它不起作用我不知道问题出在哪里我还没有完成它,但它应该能够获取我点击的数字,但它不能 这是我的javascript代码 类计算器{ 构造函数(PreviousOperationTextElement、CurrentOperationTextElement){ this.PreviousOperationTextElement=PreviousOperationTextElement this.currentOperatureTextElemen

所以我试图用javascript制作一个计算器,但它不起作用我不知道问题出在哪里我还没有完成它,但它应该能够获取我点击的数字,但它不能

这是我的javascript代码

类计算器{
构造函数(PreviousOperationTextElement、CurrentOperationTextElement){
this.PreviousOperationTextElement=PreviousOperationTextElement
this.currentOperatureTextElement=currentOperatureTextElement
这个
}
清除(){
this.currentOperator=“”
this.previous操作数=“”
this.operation=未定义
}
删除()
附录编号(编号){
this.currentOperator=number
}
选择操作(操作)
计算()
updateDisplay(){
this.currentOperatureTextElement.innerText=this.currentOperator
}
}
const numberButtons=document.querySelectorAll(“[data number]”);
const operationButtons=document.querySelectorAll(“[data operation]”);
const equalsButton=document.querySelector(“[data equals]”);
const deleteButton=document.querySelector(“[data delete]”);
const allClearButton=document.querySelector(“[data all clear]”);
const previousOperationTextElement=document.querySelector(“[data previous Operator]”);
const currentOperatureTextElement=document.querySelector(“[数据当前操作数]”);
常量计算器=新的计算器(PreviousOperationsTextElement、CurrentOperationsTextElement)
numberButtons.forEach(按钮=>{
按钮。addEventListener('单击',()=>{
计算器.appendNumber(按钮.innerText)
calculator.updateDisplay()
})
})
*,
*::之前,
*::之后{
框大小:边框框;
字体系列:“哥特式A1”,无衬线;
字体大小:粗体;
}
身体{
填充:0;
保证金:0;
背景:线性梯度(向右,#00AAFF,#00FF6c);
}
.计算网格{
显示:网格;
证明内容:中心;
对齐内容:居中对齐;
最小高度:100vh;
网格模板列:重复(4100px);
网格模板行:最小最大值(120px,自动)重复(5100px);
}
.calc grid>按钮{
光标:指针;
字号:2rem;
边框:1px纯白;
大纲:无;
背景色:rgba(255、255、255、75);
}
.calc grid>按钮:悬停{
背景色:rgba(255、255、255、.9);
}
.跨度2{
格构柱:跨度2;
}
.产出{
格构柱:跨度4;
背景色:rgba(0,0,0,75);
显示器:flex;
对齐项目:柔性端;
证明内容:周围的空间;
弯曲方向:立柱;
填充:10px;
单词包装:打断单词;
单词break:打破一切;
}
.output.prev op{
颜色:rgba(255、255、255、75);
字体大小:1.5rem;
}
.output.curr op{
颜色:白色;
字体大小:2.5rem;
}

calaculator
自动控制
德尔
÷
1.
2.
3.
X
4.
5.
6.
+
7.
8.
9
-
.
0
=

有两个问题

  • compute
    这样的函数应该有{},即使它们是空的。将{}添加到所有不带{}的函数中。 示例:
    compute(){}

  • 您正在重用变量名“calculator”,该变量名由定义为“calculator”的类使用。这会导致错误,所以您需要将变量的名称更改为其他名称


  • 控制台中有错误消息吗?
    const calculator=new calculator
    您的错误还与您的类中有
    delete()
    chooseOperation(operation)
    compute()
    有关。括号在哪里?当然你的javascript是不完整的,充满了bug(正如@epascarello指出的一些bug,你也提到它还没有完成)。请注意,如果遇到错误,javascript通常不会进一步运行。