如何在JavaScript中对特定参数只调用一次函数?

如何在JavaScript中对特定参数只调用一次函数?,javascript,function,arguments,Javascript,Function,Arguments,我有一个带两个参数的简单函数 函数加法器(元素,错误消息){ 元素insertAdjacentHTML(“afterend”,“error\u msg+”); } 您可以使用WeakSet存储调用函数的第一个参数 函数uniquifyFirstArg(fn){ 常数集=新的弱集; 返回函数(第一,…剩余){ 如果(!set.has(第一个)){ 集合。添加(第一); fn(第一,…其余); } } } const addError=uniquifyFirstArg(函数(元素,错误消息){

我有一个带两个参数的简单函数


函数加法器(元素,错误消息){
元素insertAdjacentHTML(“afterend”,“error\u msg+”);
}

您可以使用
WeakSet
存储调用函数的第一个参数

函数uniquifyFirstArg(fn){
常数集=新的弱集;
返回函数(第一,…剩余){
如果(!set.has(第一个)){
集合。添加(第一);
fn(第一,…其余);
}
}
}
const addError=uniquifyFirstArg(函数(元素,错误消息){
元素insertAdjacentHTML(“afterend”,“error\u msg+”);
});
addError(document.body,“这是一个错误”);
附录(document.querySelector('body'),“未显示”)
。错误{
颜色:红色;

}
您可以使用
WeakSet
存储调用函数的第一个参数

函数uniquifyFirstArg(fn){
常数集=新的弱集;
返回函数(第一,…剩余){
如果(!set.has(第一个)){
集合。添加(第一);
fn(第一,…其余);
}
}
}
const addError=uniquifyFirstArg(函数(元素,错误消息){
元素insertAdjacentHTML(“afterend”,“error\u msg+”);
});
addError(document.body,“这是一个错误”);
附录(document.querySelector('body'),“未显示”)
。错误{
颜色:红色;

}
最好使用
WeakSet
来避免内存泄漏,如果只为parameter@Bergi很好的建议。最好使用
WeakSet
来避免内存泄漏,如果只为parameter@Bergi很好的建议。@hev1我是javascript新手,所以我无法理解你的代码。如果有什么简单的方法,我很想知道。我的方法很简单。你不懂哪一部分?@hev1我对javascript不熟悉,所以我无法理解你的代码。如果有什么简单的方法,我很想知道。我的方法很简单。你不明白哪一部分?