无法解决JS解决方案

时间:2018-07-13 12:26:31

标签: javascript challenge-response

我正在尝试解决该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

1 个答案:

答案 0 :(得分:1)

inc函数内部没有定义cnt变量。它(cnt存在于对象counter中,而不存在于函数inc中。您也可以使用this参考来解决此问题。网络上有几篇关于它的文章。

const counter = {
    cnt: 0,
    inc: function() {
        counter.cnt++;
        console.log(counter.cnt);
    }
};