gpt4 book ai didi

javascript - 为什么eventListener调用的时候值是undefined? JavaScript

转载 作者:行者123 更新时间:2023-11-30 08:19:12 25 4
gpt4 key购买 nike

<分区>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<canvas id="cv" style="border:2px solid black;">
<script>
class Click {

constructor() {
let cv = document.getElementById("cv");
this.cv = cv;
let x = 3;
this.x = x;
this.cv.addEventListener('click', this.f); //Line A
this.f(); //Line B
}
f() {
console.log(this.x);
}
}
new Click();
</script>

B 行将值 3 显示到控制台。但是 A 行显示“未定义”,因为 eventListener 调用了相同的函数。

如果我删除所有面向对象的东西,例如构造函数、类和“this.”,然后它就可以工作了。但它必须是面向对象的。也许我误用了“this”关键字。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com