Вопрос:

Цепные вызовы одной и той же функции и изменение внутренней переменной

javascript chaining

280 просмотра

2 ответа

33 Репутация автора

Возможно ли это с помощью JavaScript? Используйте ту же функцию и вызывайте ее снова и снова.

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

РЕДАКТИРОВАТЬ

Спасибо за ответы. Я хотел бы сохранить и внутреннюю переменную, которая добавляет строку к предыдущей, если это возможно.

Автор: Kstaoo Источник Размещён: 09.04.2014 01:04

Ответы (2)


2 плюса

1675 Репутация автора

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Автор: user1180790 Размещён: 09.04.2014 01:08

2 плюса

20750 Репутация автора

Решение
function MyFunc(arg){
    console.log(arg);
    return MyFunc;
}

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

Пример JsFiddle

Пример Y-комбинатора :

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
Автор: J0HN Размещён: 09.04.2014 01:09
Вопросы из категории :
32x32