javascript - 是否有可能在箭头函数中获取 this 以及全局 this?

标签 javascript scope this arrow-functions

我有:

        checkbox.addEventListener('change', () => {
            console.log(this.checked)
        })

问题是 this.checked 由于箭头函数而未定义。那么如何检查复选框的值呢?我知道我可以使用常规的 function,但我想将 this 保留在外部范围内,因为我将从中调用一些函数

最佳答案

违背了箭头函数的目的。使用事件对象获取对被单击元素的引用。

checkbox.addEventListener('change', (event) => {
  console.log(event.target.checked)
})

而且您还将复选框定义为变量,因此您可以使用它

checkbox.addEventListener('change', (event) => {
  console.log(checkbox.checked)
})

关于javascript - 是否有可能在箭头函数中获取 this 以及全局 this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56874124/

相关文章:

javascript - 使用全局变量来防止代码不必要地重复执行

perl - 只在本地调用的嵌套 Perl 子程序有什么问题吗?

java - 有人可以向我详细解释 'this' 的用法吗?

javascript - pixjs 交换图像而不跳跃

javascript - 如何检查当前文件是否是javascript中的主文件(iOS Instruments UI Automator)

javascript - 垃圾邮件预防/减少 - 联系表?

javascript - 在多个组件中通过 setState 重用一个函数

javascript - 加载页面时需要保持 collapsible 1 打开

java - 为什么我应该将实现的接口(interface)方法声明为 "public"?

java - AbstractList 源代码中的奇怪代码行