我正在学习如何使用箭头函数,并且我尝试在下面转换我的代码。 funcCall 和 EnterKey 存在范围问题。我相信箭头函数应该可以解决这个问题。
function pressKey(funcCall, enterKey = 13) {
document.addEventListener("keydown", _onKeyDown);
}
function _onKeyDown(e) {
if(e.keyCode === enterKey) {
e.preventDefault();
funcCall();
}
}
最佳答案
您需要在 pressKey
范围内创建 _onKeyDown
,以便它可以访问 funcCall
和 enterKey
通过闭包:
function pressKey(funcCall, enterKey = 13) {
function _onKeyDown(e) {
if(e.keyCode === enterKey) {
e.preventDefault();
funcCall();
}
}
document.addEventListener("keydown", _onKeyDown);
}
是否使用箭头函数并不重要。
关于javascript - 函数的范围问题并转换为箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54700329/