如何在JavaScript中预先结束/追加所有函数调用的结果
假设我有一个函数如何在JavaScript中预先结束/追加所有函数调用的结果,javascript,function,append,prepend,Javascript,Function,Append,Prepend,假设我有一个函数 函数和(…参数){ 返回参数减少((acc,v)=>acc+v,0) } 我是这样使用它的-> console.log(“hi”+sum(2,3)+“hello”)这将为我提供输出hi 5 hello 我想要达到这个结果 hi start 5 end hello 基本上,我想在函数调用的每个输出中附加和前置一些固定值,而不管函数本身如何 我曾试图推翻财产的价值,但不起作用 注意:sum只是一个示例函数。是否有一些解决方案可以用于所有函数?您可以创建一个原型并使用它调用您的函数,
函数和(…参数){
返回参数减少((acc,v)=>acc+v,0)
}
我是这样使用它的->
console.log(“hi”+sum(2,3)+“hello”)
这将为我提供输出hi 5 hello
我想要达到这个结果
hi start 5 end hello
基本上,我想在函数调用的每个输出中附加和前置一些固定值,而不管函数本身如何
我曾试图推翻财产的价值,但不起作用
注意:
sum
只是一个示例函数。是否有一些解决方案可以用于所有函数?您可以创建一个原型并使用它调用您的函数,并在其中包含您想要的任何内容:
Function.prototype.debug=函数(…args){
设res=this.apply(this,args);
log(“调用的函数“+”this.name+”。结果:start“+res+”end”);
返回res;
}
函数和(…参数){
返回参数减少((acc,v)=>acc+v,0)
}
log(“hi”+sum.debug(2,3)+“hello”)代码>如果仅出于登录目的需要:
函数和(a,b){
返回a+b;
}
功能划分(a、b){
返回a/b;
}
const oldLog=console.log;
console.log=函数(msg){
oldLog(`start${msg}end`);
}
控制台日志(总和(1,2));
控制台日志(划分(1,2))代码>是否要在每个函数中追加和前置某些内容?还是仅此函数?是的,我想在每个函数中附加和前置某些内容代码中的每个函数?是的,我代码中的每个函数都会附加和前置整个console.log输出,我只想附加/前置函数响应这是一种类似于curry的方法。我无法修改每一个函数call我试图寻找一种方法,使用function.prototype.valueOf
钩住每一个函数调用,但并不是每次都被调用。我知道没有别的办法了。