bind
function をobjectに束縛する。
(function() { var func = function(greeting){ return greeting + this.title }; func = _.bind(func, { title: 'アンダースコア' }, 'titleは'); console.log(func()); })();
bindAll
イベントハンドラとして使う予定の関数を、オブジェクトに束縛する
partial
引数の部分適用を行う。関数をオブジェクトとして受け渡す時に便利。
(function() { var add = function(a, b) { return a + b; }; var already_added_25 = _.partial(add, 25); console.log(already_added_25(20)); })();
memoize
関数をキャッシュしてメモ化。計算結果を高速化する。
delay
_.delay(function, wait, [*arguments])
setTimeoutのようなもの。wait後にfunctionを呼び出す。
defer
_.defer(function, [*arguments])
$.Defferedのように、現在のコールスタックが終了してから呼び出す。
throttle
_.throttle(function, wait, [options])
連続してfunctionを発動させる場合、一回目が発動してからwait間次の発動がcueされる。
debounce
_.debounce(function, wait, [immediate])
[immediate] == trueの場合、functionが発動してからwait間はトリガーを引いても発動しない。
※thorottleとdebounceのgood example.