JS计算器项目运行报Cannot set property 'innerText' of undefined错误
错误原因
你实例化Calculator类时没有传入构造函数要求的两个DOM参数,导致类内部的this.previousOperandTextElement和this.currentOperandTextElement均为undefined,调用updateDisplay方法时尝试给undefined设置innerText属性,就触发了对应的类型错误。
修复方法
将代码中实例化Calculator的行:
const calculator = new Calculator;
修改为传入提前查询到的两个DOM元素即可:
const calculator = new Calculator(previousOperandTextElement, currentOperandTextElement);
其他可能的排查点
如果修改后还有报错,可以检查以下内容:
- 确认HTML中对应展示操作数的元素,确实添加了
data-previous-operand、data-current-operand自定义属性 - 确认JS代码执行时机在DOM元素加载完成之后,建议将JS代码放在
body标签末尾,或者用DOMContentLoaded事件包裹业务逻辑
内容的提问来源于stack exchange,提问作者newbieCoder99
相关产品推荐
相关产品推荐

