传递参数而不调用函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传递参数而不调用函数相关的知识,希望对你有一定的参考价值。

document.querySelector(DOM.refreshRem).addEventListener('click', function(param));

这是我遇到的问题,我想连接函数但没有(),所以它不会立即被调用,但是函数接受一个参数,所以我该如何处理它,我第一个想法是将其包装在另一个函数中,但是有没有更简单的方法,这似乎嵌套太多

答案

因此使用函数或使用绑定

function test1(event, param) {
  console.log(param)
}

function test2(param, event) {
  console.log(param)
}

const btn1 = document.querySelector('.test1')

btn1.addEventListener('click', function(event) {
  test1(event, 'foo')
});

const btn2 = document.querySelector('.test2')
btn2.addEventListener('click', test2.bind(btn2, 'bar'));
<button type="button" class="test1">click 1</button>

<button type="button" class="test2">click 2</button>

以上是关于传递参数而不调用函数的主要内容,如果未能解决你的问题,请参考以下文章

将多个右值和左值传递给函数而不创建重载

如何将列表的所有元素作为函数的参数传递而不将列表作为参数传递

将 JavaScript 函数作为参数传递

将 JavaScript 函数作为参数传递

jQuery:如何在事件处理函数中获取事件对象而不将其作为参数传递?

JS常用代码片段-127个常用罗列-值得收藏