Javascript 有没有办法在一个函数定义中提供两组rest参数?
我正在尝试使用一个函数,该函数接受数量不确定的元素和类。元素的数量将始终与类的数量相匹配。我知道我可以使用rest参数来接受未知数量的参数,但是对于两个集合,甚至可以这样做吗 这就是我的想法⬇️:Javascript 有没有办法在一个函数定义中提供两组rest参数?,javascript,function,parameters,arguments,parameter-passing,Javascript,Function,Parameters,Arguments,Parameter Passing,我正在尝试使用一个函数,该函数接受数量不确定的元素和类。元素的数量将始终与类的数量相匹配。我知道我可以使用rest参数来接受未知数量的参数,但是对于两个集合,甚至可以这样做吗 这就是我的想法⬇️: const toggleClass = (axn, ...elements, ...classname) => { elements[0].classList[axn](classname[0]) elements[1].classList[axn](classname[1])
const toggleClass = (axn, ...elements, ...classname) => {
elements[0].classList[axn](classname[0])
elements[1].classList[axn](classname[1])
}
heroBtn.addEventListener('mouseenter', () => toggleClass('add', arrowEl, btnTextEl, 'arrow-hover', 'btn-text-hover'))
heroBtn.addEventListener('mouseleave', () => toggleClass('remove', arrowEl, btnTextEl, 'arrow-hover', 'btn-text-hover'))
否-如果这是可能的,解释器将不清楚哪个参数进入哪个rest参数。如
fn = (...args1, ...args1) => {
及
解释器如何决定将哪些元素放入哪个数组
你得自己把这些元素分开
对于您正在执行的操作,我更愿意传递数组:
toggleClass(
'add',
[arrowEl, btnTextE1],
['arrow-hover', 'btn-text-hover']
);
然后迭代它们
toggleClass(
'add',
[arrowEl, btnTextE1],
['arrow-hover', 'btn-text-hover']
);