Lodash документация на русском (Функции) часть 1
- “Функции” - часть 1
“Функции” - часть 1
.after(n, func)
Противоположно _.before; Этот метод создает функцию, которая вызывает функцию func
, когда она вызывается n
или более раз.
Версия: 0.1.0
Аргументы
n (number)
: Число вызовов после которого вызывается func
. func (Function)
: Функция для ограничения.
Возвращает
(Function)
: Возвращает новую ограниченную функцию.
Пример
var saves = ['profile', 'settings'];
var done = _.after(saves.length, function() {
console.log('done saving!');
});
_.forEach(saves, function(type) {
asyncSave({ 'type': type, 'complete': done });
});
// => Logs 'done saving!' after the two async saves have completed.
.ary(func, [n=func.length])
Создает функцию, которая вызывает func
, до n
аргументов, игнорируя любые дополнительные аргументы.
Версия: 3.0.0
Аргументы
func (Function)
: Функция для ограничения аргументов. [n=func.length] (number)
: arity
заглушка
Возвращает
(Function)
: Возвращает новую ограниченную функцию.
Пример
_.map(['6', '8', '10'], _.ary(parseInt, 1));
// => [6, 8, 10]
.before(n, func)
Создает функцию, которая вызывает func
, с этой привязкой и аргументами для создания функции, пока эти вызовы меньше n
раз.
Последующие вызовы созданной функции возвращают результат последнего вызова func
.
Версия: 3.0.0
Аргументы
n (number)
: Число вызовов после которого вызывается func
. func (Function)
: Функция для ограничения.
Возвращает
(Function)
: Возвращает новую ограниченную функцию.
Пример
jQuery(element).on('click', _.before(5, addContactToList));
// => Allows adding up to 4 contacts to the list.
.bind(func, thisArg, [partials])
Создает функцию, которая вызывает func
с привязкой thisArg
и partials
, предшествующей полученным аргументам.
Значение _.bind.placeholder, которое по умолчанию равно _ в монолитных билдах, может использоваться в качестве заполнителя для частично применяемых аргументов.
Заметка: В отличие от нативного Function # bind, этот метод не устанавливает свойство length для связанных функций.
Версия: 0.1.0
Аргументы
func (Function)
: Функция для связывания. thisArg (*)
: Это связывание func
. [partials] (...*)
: Аргументы, которые должны быть частично применены.
Возвращает
(Function)
: Возвращает новую связанную функцию.
Пример
function greet(greeting, punctuation) {
return greeting + ' ' + this.user + punctuation;
}
var object = { 'user': 'fred' };
var bound = _.bind(greet, object, 'hi');
bound('!');
// => 'hi fred!'
// Bound with placeholders.
var bound = _.bind(greet, object, _, '!');
bound('hi');
// => 'hi fred!'
.bindKey(object, key, [partials])
Создает функцию, которая вызывает метод в object[key]
, при этом partials
предшествует аргументам, которые он получает.
Этот метод отличается от _.bind позволяя связанным функциям ссылаться на методы, которые могут быть переопределены или еще не существуют.
Прочтите Peter Michaux’s article для большего понимания.
Значение _.bindKey.placeholder
, которое по умолчанию равно _
в монолитных билдах, может использоваться как местозаполнитель для частично применяемых аргументов.
Версия: 0.1.0
Аргументы
object (Object)
: Объект для вызова метода on
. key (string)
: Ключ метода. [partials] (...*)
: Аргументы, которые должны быть частично применены.
Возвращает
(Function)
: Возвращает новую связанную функцию.
Пример
var object = {
'user': 'fred',
'greet': function(greeting, punctuation) {
return greeting + ' ' + this.user + punctuation;
}
};
var bound = _.bindKey(object, 'greet', 'hi');
bound('!');
// => 'hi fred!'
object.greet = function(greeting, punctuation) {
return greeting + 'ya ' + this.user + punctuation;
};
bound('!');
// => 'hiya fred!'
// Bound with placeholders.
var bound = _.bindKey(object, 'greet', _, '!');
bound('hi');
// => 'hiya fred!'
.curry(func, [arity=func.length])
Создает функцию, которая принимает аргументы func
и либо вызывает func
, возвращающий его результат, если было предоставлено хотя бы arity
количество аргументов, либо функция, которая принимает остальные аргументы func
, и т. Д. Аргумент func
может быть указан, если func.length
недостаточно.
Значение _.curry.placeholder
, которое по умолчанию равно _
в монолитных билдах, может использоваться как местозаполнитель для предоставленных аргументов.
Заметка: Этот метод не устанавливает свойство length
для функций, выполняемых с помощью curried
.
Версия: 2.0.0
Аргументы
func (Function)
: curry
функция. [arity=func.length] (number)
: arity
заглушка для func
.
Возвращает
(Function)
: Возвращает новую curried
функцию.
Пример
var abc = function(a, b, c) {
return [a, b, c];
};
var curried = _.curry(abc);
curried(1)(2)(3);
// => [1, 2, 3]
curried(1, 2)(3);
// => [1, 2, 3]
curried(1, 2, 3);
// => [1, 2, 3]
// Curried with placeholders.
curried(1)(_, 3)(2);
// => [1, 2, 3]
.curryRight(func, [arity=func.length])
Этот метод подобен .curry За исключением того, что аргументы применяются к func
в порядке .partialRight вместо .partial.
Значение _.curryRight.placeholder
, которое по умолчанию равно _
в монолитных билдах, может использоваться в качестве заполнителя для предоставленных аргументов.
Заметка: Этот метод не устанавливает свойство length
для функций, выполняемых с помощью curried
.
Версия: 3.0.0
Аргументы
func (Function)
: curry
функция. [arity=func.length] (number)
: arity
заглушка для func
.
Возвращает
(Function)
: Возвращает новую curried
функцию.
Пример
var abc = function(a, b, c) {
return [a, b, c];
};
var curried = _.curryRight(abc);
curried(3)(2)(1);
// => [1, 2, 3]
curried(2, 3)(1);
// => [1, 2, 3]
curried(1, 2, 3);
// => [1, 2, 3]
// Curried with placeholders.
curried(3)(1, _)(2);
// => [1, 2, 3]
.debounce(func, [wait=0], [options={}])
Создает функцию debounced, которая задерживает вызов func
, до тех пор, пока не истечет миллисекунды ожидания с момента последнего вызова функции debounced
.
Функция debounced
использует метод cancel
для отмены отложенных func
-вызовов и метод flush
для немедленного вызова.
Укажите параметры, указывающие, следует ли вызывать func
на ведущем и/или заднем фронтах таймаута ожидания.
func
вызывается с последними аргументами, предоставленными функцией debounced
.
Последующие вызовы функции debounced
возвращают результат последнего вызова func
.
Заметка: Если начальные и конечные значения равны true
, func
вызывается на заднем фронте таймаута, только если выведенная функция вызывается более чем один раз во время ожидания.
Если wait
равно 0, а lead
- false
, вызов func
откладывается до следующего тика, похож на предыдущий метод setTimeout
с тайм-аутом 0.
Прочтите David Corbacho’s article для большего понимания по поводу различий между .debounce и .throttle.
Версия: 0.1.0
Аргументы
func (Function)
: Функция debounce
. [wait=0] (number)
: Количество миллисекунд задержки. [options={}] (Object)
: Параметры объекта. [options.leading=false] (boolean)
: Укажите вызов по переднему фронту тайм-аута. [options.maxWait] (number)
: Максимальное время func
на которое он может быть отложено до его вызова. [options.trailing=true] (boolean)
: Укажите вызов на заднем фронте тайм-аута.
Возвращает
(Function)
: Возвращает новую debounced
функцию.
Пример
// Avoid costly calculations while the window size is in flux.
jQuery(window).on('resize', _.debounce(calculateLayout, 150));
// Invoke `sendMail` when clicked, debouncing subsequent calls.
jQuery(element).on('click', _.debounce(sendMail, 300, {
'leading': true,
'trailing': false
}));
// Ensure `batchLog` is invoked once after 1 second of debounced calls.
var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
var source = new EventSource('/stream');
jQuery(source).on('message', debounced);
// Cancel the trailing debounced invocation.
jQuery(window).on('popstate', debounced.cancel);
.defer(func, [args])
Отменяет вызов func
до тех пор, пока текущий стек вызовов не будет очищен. Любые дополнительные аргументы предоставляются func
, когда он вызывается.
Версия: 0.1.0
Аргументы
func (Function)
: Функция для отсрочки. [args] (...*)
: Аргументы для вызова func
.
Возвращает
(number)
: Возвращает идентификатор таймера.
Пример
_.defer(function(text) {
console.log(text);
}, 'deferred');
// => Logs 'deferred' after one millisecond.
.delay(func, wait, [args])
Вызывает func
после ожидания миллисекунд. Любые дополнительные аргументы предоставляются func
, когда он вызывается.
Версия: 0.1.0
Аргументы
func (Function)
: Функция для задержки. wait (number)
: Количество миллисекунд для задержки вызова. [args] (...*)
: Аргументы для вызова func
.
Возвращает
(number)
: Возвращает идентификатор таймера.
Пример
_.delay(function(text) {
console.log(text);
}, 1000, 'later');
// => Logs 'later' after one second.
- Колличество слов
- 1983
- Дата создания
- 03 апреля 2017