开发者问题收集

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

2021-03-04
116

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

“未捕获 TypeError:无法在 HTMLButtonElement.buttonClick 处设置未定义的属性‘value’”。

这是存储库的链接:

https://github.com/PRMK01/Calculator

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

附注:我很生疏,提前感谢您的耐心等待!

2个回答

Javascript 发出抱怨,因为控制台显示,代码第 49 行有一个元素具有属性 value ,而该元素未定义。因此,它显示“无法读取未定义元素的 value ”。

此元素是 calculator.mathRow.length :您要求的是 length ,但 calculator.mathRow 不是数组:它是一个 HTML 元素 ,使用

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

在代码第 19 行检索。

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

<input type="text" id="mathrow">
Don Diego
2021-03-04

问题是这样的:

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

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

if (calculator.mathRow.value[calculator.mathRow.length - 1] = "+")
PRMK
2021-03-05