我正在按照指南使用 JavaScript 制作计算器,但在第一个练习中卡住了。它一直说 e
未定义。当我定义它时,它一直说“key”未定义。如果我尝试定义它,我会得到 ReferenceError: can't access lexical declaration
key' 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!')
}
最佳答案
您正在尝试在单击事件处理程序回调之外访问 e
。 e
表示事件。单击特定元素时,将创建该事件对象并将其传递给回调函数。在外部访问该事件将引发错误。
关于javascript - JS计算器指南,不断获取 "not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53893081/