Javascript 正在生成计算器,获取无法将属性“value”设置为null

Javascript 正在生成计算器,获取无法将属性“value”设置为null,javascript,function,object,properties,calculator,Javascript,Function,Object,Properties,Calculator,我正在制作一个计算器,我不断地遇到这个错误,我试着用几种不同的方法键入它,但我无法找出它,请帮帮我 const calculator = { displayValue: '0', firstOperand: null, waitingForSecondOperand: false, operator: null, }; function updateDisplay() { const display = document.querySelector('.calculator

我正在制作一个计算器,我不断地遇到这个错误,我试着用几种不同的方法键入它,但我无法找出它,请帮帮我

const calculator = {
  displayValue: '0',
  firstOperand: null,
  waitingForSecondOperand: false,
  operator: null,
};

function updateDisplay() {
  const display = document.querySelector('.calculator-screen');
  display.value = calculator.displayValue;
}

updateDisplay();

我在屏幕上看到了错误

  display.value = calculator.displayValue;

这是该文件的html

<div class="calculator">
            <input type="text" class="calculator-screen" value = "0" disabled />
            <div class="calculator-keys">        
                <button type="button" class="operator" value="+">+</button>
                <button type="button" class="operator" value="-">-</button>
                <button type="button" class="operator" value="*">&times;</button>
                <button type="button" class="operator" value="/">&divide;</button>


该错误表示该行:

const display = document.querySelector('.calculator-screen');
正在返回null。所以当你这样做的时候:

display.value = calculator.displayValue;
你真的是在说:

null = calculator.displayValue;
尝试记录该值并自己检查:

function updateDisplay() {
  const display = document.querySelector('.calculator-screen');
  console.log('display: ', display); // this is probably 'null'
  display.value = calculator.displayValue;
}
我猜你在类计算器屏幕上没有选择器。仔细检查拼写或张贴相关HTML,以便我确认

这是您的代码,它似乎工作正常,我没有收到任何错误,因此我不确定您那边发生了什么:

常数计算器={ displayValue:“0”, 第一个操作数:null, 等待第二个选项:false, 运算符:空, }; 函数更新显示{ const display=document.querySelector'.calculator screen'; display.value=calculator.displayValue; } 更新显示; + - &时代; &划分; 您的document.querySelector似乎找不到所需的元素


此错误意味着当您尝试设置其值时,display可能为null,唯一可能导致此错误的是校正器未找到所需的选择

这可能是由于输入html标记的disabled属性造成的。请删除禁用的属性,并在其有效时重试

确保您的HTML具有.calculator screen类,我认为是document.querySelector.calculator screen;正在返回null/undefined,请检查是否有类计算器屏幕中的元素?如果您发布一个工作示例,那么就更容易进行故障排除。嘿,我用代码所引用的一点HTML更新了文件。谢谢你的帮助@LucasO我运行了你的代码,没有错误,你确定你在正确的位置包含了标记吗?如果您在试图选择的HTML块之前加载它,它将抛出该错误。确保标记位于文档的最底部,即结束标记之前。您可以从我的答案中的片段中看到,没有显示任何错误。