我是js和功能编程的新手
我的问题在下面
const orgFunc = (str, str2) =>{
return str + ' ' + str2;
}
const curryFunc = (str) =>
{
return orgFunc(str,'curried');
}
const interceptFunc = (fn) =>
{
return fn;
}
1 console.log("orgFunc",orgFunc('func','org'));
>func org
2 console.log("curryFunc", curryFunc('func'));
>func curried
3 console.log("interceptFunc", interceptFunc(curryFunc)('func'));
>func curried
我想将3的结果“func curried”更改为“func截获” 替换“curried”到“截获”
但是在interceptFunc函数中,
const interceptFunc = (fn) =>
{
return fn
}
fn是函数所以我不能使用fn.replace(“curried”,“截获”)
有什么办法吗?
答案 0 :(得分:1)
您可以通过修改interceptFunc
功能来实现此目的。
你的interceptFunc
除了返回另一个功能外没有做任何其他事情。
检查下面的代码片段,我们在其中返回另一个实际充当拦截器的函数。
const orgFunc = (str, str2) =>{
return str + ' ' + str2;
}
const curryFunc = (str) =>
{
return orgFunc(str,'curried');
}
const interceptFunc = (fn) =>
{
return function(someInput){
return fn(someInput).replace('curried', 'intercepted');
}
}
console.log(interceptFunc(curryFunc)("func"));

答案 1 :(得分:0)
我不确定你想做什么。但你可以使用替换:
require_once dirname(__FILE__) . "/../../yourscript.php";