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