Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 链调用同一函数并修改内部变量_Javascript_Chaining - Fatal编程技术网

Javascript 链调用同一函数并修改内部变量

Javascript 链调用同一函数并修改内部变量,javascript,chaining,Javascript,Chaining,这在javascript中是可能的吗?使用相同的函数并反复调用它 myFunc(“测试”)(“我”)(“请”)( 编辑 谢谢你的回答。如果可能的话,我想保留将字符串附加到前一个字符串的内部变量。是的,如果您愿意返回参数,您可以。

这在javascript中是可能的吗?使用相同的函数并反复调用它

myFunc(“测试”)(“我”)(“请”)(

编辑


谢谢你的回答。如果可能的话,我想保留将字符串附加到前一个字符串的内部变量。

是的,如果您愿意
返回参数,您可以。,示例:

(function(param){console.log(param); return arguments.callee;})("test")("me")("please")
将登录到控制台:

test
me
please 

是的,您可以,如果您将
返回arguments.callee,示例:

(function(param){console.log(param); return arguments.callee;})("test")("me")("please")
将登录到控制台:

test
me
please 

例如:

function Y(f) {
    var g = f(function() {
        return g.apply(this, arguments);
    });
    return g;
}

var MyFunc = Y(function(f) {
    var a = "";
    return function(n) {
        a = a + n;
        console.log(a);
        return f;
    };
});

//alert(a); // throws error as a is outside of scope here
MyFunc("a")("b")("c"); # logs a; ab; abc

例如:

function Y(f) {
    var g = f(function() {
        return g.apply(this, arguments);
    });
    return g;
}

var MyFunc = Y(function(f) {
    var a = "";
    return function(n) {
        a = a + n;
        console.log(a);
        return f;
    };
});

//alert(a); // throws error as a is outside of scope here
MyFunc("a")("b")("c"); # logs a; ab; abc

命名函数表达式优先于
被调用方
函数f(a){console.log(a);return f;}
命名函数表达式优先于
被调用方
<代码>函数f(a){console.log(a);返回f;}
这几乎满足了我的要求。你能检查一下我的编辑吗?太酷了。返回一个匿名函数也能做到这一点吗?@user3006500我相信它使用的是@Benio建议的
参数.callee
。或者,如果你是函数式编程和λ-演算的忠实粉丝,使用一个几乎能满足我要求的定点组合器(aka)。你能检查一下我的编辑吗?太酷了。返回一个匿名函数也能做到这一点吗?@user3006500我相信它使用的是@Benio建议的
参数.callee
。或者,如果你是函数编程和λ演算的忠实粉丝,使用定点组合器(aka)