javascript - JS计算器指南,不断获取 "not defined"

标签 javascript

我正在按照指南使用 JavaScript 制作计算器,但在第一个练习中卡住了。它一直说 e 未定义。当我定义它时,它一直说“key”未定义。如果我尝试定义它,我会得到 ReferenceError: can't access lexical declarationkey' before initialization`

代码如下:

const calculator = document.querySelector(`.calculator`)
const keys = calculator.querySelector(`.calculator__keys`)



keys.addEventListener(`click`, e => {
    if (e.target.matches(`button`)) {

       // do something
    }
})

const key = e.target
const action = key.dataset.action


if (!action) {
    console.log('number key!')
  }
  if (
    action === 'add' ||
    action === 'subtract' ||
    action === 'multiply' ||
    action === 'divide'
  ) {
    console.log('operator key!')
  }

  if (action === 'decimal') {
    console.log('decimal key!')
  }

  if (action === 'clear') {
    console.log('clear key!')
  }

  if (action === 'calculate') {
    console.log('equal key!')
  }

最佳答案

您正在尝试在单击事件处理程序回调之外访问 ee 表示事件。单击特定元素时,将创建该事件对象并将其传递给回调函数。在外部访问该事件将引发错误。

关于javascript - JS计算器指南,不断获取 "not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53893081/

相关文章:

javascript - jQuery 导航栏不起作用?

javascript - Ng 重复在 kenwheeler 中不起作用 - Angular Js

javascript - 语义 UI 将初始化为下拉菜单的选择恢复为常规 HTML 选择菜单

javascript - jQuery 全屏视频 slider

javascript - JSONP/Ajax 脚本出现问题 - 返回 'Undefined'

javascript - 教程中的 Angular JS 未渲染

javascript - 当用户点击 div 标签外部时隐藏 div 标签

javascript - jQuery .first() – 不适用于 IE?

javascript - HTML5 从中心点旋转图像

javascript - 基本计算器,如何使按钮输入值到文本字段