Javascript 使用变量值作为函数名
下面的代码用于对给定列表中每个DOM元素的类列表执行操作Javascript 使用变量值作为函数名,javascript,Javascript,下面的代码用于对给定列表中每个DOM元素的类列表执行操作 function editClassListOfElements(elements, className, operation) { switch (operation) { case "add": [].forEach.call(elements, function (element) {element.classList.add(className)}); bre
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的值类似。您可以使用括号访问对象的字段
element.classList.add
相当于element.classList[“add”]
。因此,您只需执行element.classList[operation](className)
,它将调用classList
的函数,该函数的名称与变量operation的值类似