我正在尝试解决该JavaScript代码难题。我真的很挣扎,请问一些建议吗?
我正在尝试提高调试能力,而我为此感到吃力。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Clicker</title>
<meta name="description" content="">
<style></style>
</head>
<body>
<button>Click!</button>
<script>
const counter = {
cnt: 0,
inc: function() {
cnt++;
console.log(cnt);
}
};
const button = document.getElementsByTagName('button')[0];
button.addEventListener('click', counter.inc(), false);
</script>
</body>
</html>
但是我得到了错误
未捕获的ReferenceError:第19行未定义cnt
答案 0 :(得分:1)
inc函数内部没有定义cnt
变量。它(cnt
存在于对象counter
中,而不存在于函数inc
中。您也可以使用this
参考来解决此问题。网络上有几篇关于它的文章。
const counter = {
cnt: 0,
inc: function() {
counter.cnt++;
console.log(counter.cnt);
}
};