javascript - 链式调用同一个函数并修改一个内部变量

标签 javascript chaining

这可以用 javascript 实现吗?使用相同的函数并一次又一次地调用它。

myFunc("test")("me")("please")()

编辑

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

最佳答案

function MyFunc(arg){
    console.log(arg);
    return MyFunc;
}

MyFunc("a")("b")("c");

JsFiddle example

Y-combinator示例:

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

关于javascript - 链式调用同一个函数并修改一个内部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963471/

相关文章:

javascript - 如何追踪控制台中 404 错误的来源

javascript - 文本区域类似,但只有一行

javascript - 了解什么触发了 JavaScript Promise 链的下一个 .then()

javascript - 在 Odoo ERP 系统上创建自定义字段小部件

javascript - 从代码中填写网站上的表格

javascript - JQuery Mobile - 禁用 "enter"/script 以不允许使用 Enter

javascript - .然后链接不起作用。为什么?

JavaScript promise

C# 流水线函数数组签名

javascript - Redux-自动 : action chaining vs index reducer