Ключ всегда возвращает объект (чтение контекста) для каждого метода. Самый простой пример:
var lib = {
a: function() {
//...
return this;
},
b: function() {
//...
return this;
}
};
И использовать его как:
lib.a().b();
Но так как это такая обычная вещь, чтобы сделать, подход к беглому интерфейсу является fluent
декоратором:
// A fluent function decorator:
// Takes a function and returns a function that returns `this`
var fluent = function(f) {
return function() {
f.apply(this, arguments);
return this;
};
};
var lib = {
a: fluent(function() {
//...
}),
b: fluent(function() {
//...
})
};
lib.a().b();
Другой подход с prototypes
, используя тот же хелпер:
function Lib() {} // constructor
Lib.prototype.a = fluent(function() {
//...
});
Lib.prototype.b = fluent(function() {
//...
});
new Lib().a().b();
Декоратор fluent
дает вам ключ сразу же в начале функции, вместо того, чтобы отслеживать возвращаемое значение функции.
Читайте «Свободные интерфейсы», «цепочки» и, возможно, «прототипы» в JavaScript. На эту тему есть много информации в Интернете. – elclanrs
В чем ваш вопрос? Любая функция или метод, который возвращает объект с помощью самих методов, может быть скован как jQuery. Вызывается первая функция, она возвращает объект, который вы можете вызвать методами с цепочкой и т. Д. jQuery имеет соглашение для большинства методов для возврата исходного объекта jQuery, что означает, что вы можете вызывать несколько методов на одном и том же объекте jQuery с цепочкой. – jfriend00