是否可以修改作为参数传入的函数。
例如,让我说我有这个功能
function masterFunction(func){
func();
}
所以我有一个调用传入函数的主函数。
所以我通过传递我的"当前功能"来调用我的主功能。如果你愿意
masterFunction(function(data){
var variable = grabsValueFrom(data);
if(variable && variable['status']){
console.log('go');
}
});
所以这就是我几乎拥有和工作的东西。但是,我现在要对我的" grabsValueFrom"进行更改。函数,它现在将有一个名为" error"的索引。如果有错误。
所以我可以去每个文件找到我的代码并实现新的错误索引(数百个文件)或者如果我可以编辑内部函数" masterFunction"我可以做一次改变,ei
function masterFunction(func){
//somehow add this to func():
if(typeof variable.error != 'undefined'){
console.log('got an error');
}
//now that it is added let's call our function
func();
}
我理解这不会起作用,但这是我能解释我想要做什么的最佳方式,考虑到谷歌的一切都是关于编辑变量参数,不一定是传入的函数本身。
答案 0 :(得分:0)
您可以将传入的函数包装在另一个函数中。
function masterFunction(func) {
var wrapperFunc = function (data) {
if (typeof variable.error != 'undefined') {
console.log('got an error');
return;
}
return func(data);
};
wrapperFunc();
}
我们在这里并没有太多的背景,所以我不确定这是否有帮助,但似乎可能会这样。