【问题标题】:JavaScript argument function call with unknown amount of argumnts带有未知数量参数的 JavaScript 参数函数调用
【发布时间】:2022-08-09 23:47:57
【问题描述】:

我试图创建一个循环遍历元素的函数,并为每个具有不同数量参数的类调用一个函数。

也许我可以以某种方式绑定它们? 显然这段代码不起作用,所以仅供参考:

function elementsLoop (className , fn , ...args){
   let elems = document.getElementsByClassName(className);
   for(elem of elems){
      fn(elem , ...args);
   }
}

let a = (elem ,x,y,z)=>{
   //do something with \'elem\' and x y ,z
}
let b = (elem)=>{
   //do something with \'elem\'
}
let c =>(elem ,t){
   //do something with \'elem\' and t
}

elementsLoop(\'some-class\' , a , [x,y,z]);
elementsLoop(\'some-class\' , b , []);
elementsLoop(\'some-class\' , c , [t]);

这是我最初的方法,我只是想知道如何以不同的方式进行:

let getElements = (className)=>{
   return Document.getElementsByClassName(className);
}

function a(className,x,y,z){
   let elems = getElements(className);
   for(el of elems){
      //do something
   }
}

    标签: javascript


    【解决方案1】:

    使用.apply 将数组作为参数列表传递。

    fn.apply(null, [elem , ...args]);
    

    【讨论】:

      猜你喜欢
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 2016-09-06
      • 1970-01-01
      • 2011-05-06
      • 2015-08-02
      • 1970-01-01
      相关资源
      最近更新 更多