タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

カリー化に関するuriyuriのブックマーク (2)

  • Caller の束縛(bind) - BigFatCatのブログ

    Javascript で関数の呼び出し元オブジェクト(Caller)をあらかじめ指定したいときは、fn.call(obj) を使う。 例えば、こんな感じ。Firebug が入ってなければ、console.log() を 換わりに alert() とすればOK。 Caller の束縛 function fn() { console.log(this.attr); }; var cat = { attr: "nyan" }; // caller を束縛する function bind(fn, obj) { return function() { fn.apply(obj); }; }; // bind var fn_bound = bind(fn, cat); document.getElementById('kuma').onclick = fn_bound; 操作対象のHTMLの例 <!D

    Caller の束縛(bind) - BigFatCatのブログ
  • JavaScript で引数束縛: Days on the Moon

    引数束縛 (カリー化) の話。まずは「JavaScriptでカリー化」(檜山正幸のキマイラ飼育記)。タイトルを見てどこかで聞いたような話だなと思ったら「関数の変形」(Effecttive JavaScript - Dynamic Scripting) だった。だが、前者は文字列に戻してから評価というのが力技っぽくて個人的に好きでないし、後者は汎用的過ぎていささかわかりにくい。そこで今回は先頭の引数から束縛していくというのに的を絞ってみたいと思う。 まず第 1 引数のみを束縛する場合。Function#apply を使えば引数を配列として渡せるので、束縛された値と後から渡された引数とを連結してやればいいのではないか。 function curry(func) { return function (first) { return function () { var args = Array.p

  • 1