将类函数作为函数参数传递给JS

问题描述 投票:0回答:1

我定义了以下函数:

function handleMessageDot(fun) {
    domElement.classList.fun('hidden');
}

现在我想使用其中之一:

handleMessageDot(add)
handleMessageDot(remove)
。 我收到
remove is not defined
错误。我认为这是因为remove() 和add() 函数是classList 方法。 我现在可以做以下事情:

function handleMessageDot(domElement, fun) {
    domElement.classList.fun('hidden');
}

但我不想那样做。 有没有办法按照“我的”方式做?

javascript dom
1个回答
0
投票

当尝试使用单独变量的值访问对象的属性时,您需要使用数组表示法:

function handleMessageDot(domElement, fun) {
  domElement.classList[fun]('hidden');
}

handleMessageDot(document.querySelector('.hidden'), 'remove');
.hidden {
  display: none;
}
<div class="hidden">
  Lorem ipsum
</div>

© www.soinside.com 2019 - 2024. All rights reserved.