javascript - 在事件侦听器中使用对象有什么意义吗?
问题描述
我见过人们在addEventListener(eventName, objInsteadOfFunction)
. 为什么会这样?它似乎只是引入了对状态的需要。
const TbodyApp = {
handleEvent: handleTbodyClick,
curElementSelectionState,
handleTrClick: function init() {
return handleTrClick.bind(this,
getRenderDecisions, getNewState, renderChangesBound);
},
isTargetValidForTrClickHandler,
isTrClickHandlerToBeActivated
};
TbodyApp.handleTrClick = TbodyApp.handleTrClick();
我尝试使用一个对象,一些函数开始使用更少的参数,而是开始使用它。最重要的是,为了初始化对象,我必须像上面的代码那样做体操。
function handleTbodyClick(evt) {
const target = evt.target;
if (this.isTargetValidForTrClickHandler(target)) {
this.isTrClickHandlerToBeActivated(evt, target);
}
}
此函数中的 this-es 是参数,现在在对象中。它只会使测试更加困难,代码更加混乱。在事件侦听器中使用对象而不是函数是否有意义?
解决方案
推荐阅读
- html - 在我的网站中嵌入博客 - 自动高度和滚动
- algorithm - 如何制作具有所有元素 1 到 2N-1 的第 i 行和第 i 列的 N×N 矩阵?
- swift - MTKView :在 commandBuffer.present 上没有更多上下文的表达式类型不明确
- postgresql - 串行(自动递增)主键的标记
- reactjs - 操作不要用玩笑改变减速器测试的状态
- php - 旋转后不上传透明gif图片
- pandas - 基于布尔值列 Altair 的堆积条形图
- javascript - 如何在 React 中实现 setTimeInterval?
- javascript - 是否可以使用 Webpack 删除非活动代码?
- java - 连续点击按钮 3 次触发 toast?