未捕获的类型错误:无法在 HTMLButtonElement.buttonClick 处设置未定义的属性“值”

时间:2021-03-04 22:56:47

标签: javascript

我尝试使用的计算器有问题。 单击按钮后,控制台会显示这样的消息:

“未捕获的类型错误:无法在 HTMLButtonElement.buttonClick 处设置未定义的属性‘值’”。

这是存储库的链接:

https://github.com/PRMK01/Calculator

在这个计算器中,底部的输入最终会被隐藏起来,用于写下和评估方程。我希望上层输入的工作方式类似于 Windows 计算器输入。

P.S.:我很绿,提前感谢您的耐心等待!

2 个答案:

答案 0 :(得分:0)

Javascript 正在抱怨,因为正如控制台所说,在代码的第 49 行有一个元素具有属性 value,而该元素未定义。所以它说“无法读取未定义元素的 value”。

这个元素是 calculator.mathRow.length :你要求的是 length ,但 calculator.mathRow 不是一个数组:它是一个 HTML element ,用

检索
this.mathRow = document.getElementById("mathrow");

在代码的第 19 行。

如果您尝试 console.log(mathRow) 它将打印

<input type="text" id="mathrow">

答案 1 :(得分:0)

问题是这样的:

if (calculator.mathRow[calculator.mathRow.length - 1].value = "+")

我必须先写 .value 然后是 []。像这样:

if (calculator.mathRow.value[calculator.mathRow.length - 1] = "+")