gpt4 book ai didi

javascript - 使用变量值作为函数名

转载 作者:行者123 更新时间:2023-11-28 18:24:08 24 4
gpt4 key购买 nike

我有下面的代码来对给定列表中每个 DOM 元素的 classList 执行操作。

function editClassListOfElements(elements, className, operation) {
switch (operation) {
case "add":
[].forEach.call(elements, function (element) {element.classList.add(className)});
break;
case "remove":
[].forEach.call(elements, function (element) {element.classList.remove(className)});
break;
case "toggle":
[].forEach.call(elements, function (element) {element.classList.toggle(className)});
break;
default:
break;
}
}

我想把它改成这样:

function editClassListOfElements(elements, className, operation) {
[].forEach.call(elements, function (element) {element.classList. + operation + (className)});
}

如果这是可能的,它是如何完成的?

最佳答案

您可以使用括号访问对象的字段。

element.classList.add 相当于 element.classList["add"]。因此,您只需执行 element.classList[operation](className) ,它就会调用 classList 的函数,其名称类似于变量 operation 的值.

关于javascript - 使用变量值作为函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com