タグ

bindとjavascriptに関するishideoのブックマーク (7)

  • JavaScriptでbind()を使って部分適用する | POSTD

    JavaScriptの中にはコードをもっとシンプルで見やすくできるパターンがあるのに、あまり使われていないものがあります。皆さんも Function.prototype.bind はご存じでしょう。頻繁に使われていた var that = this や var self = this の代わりになる関数です。よくあるのが以下のような例です。 this.setup = function () { this.on('event', this.handleEvent.bind(this)); }; 第1引数が bind (束縛)され、返される関数内で this として働きます。あまり知られていませんが bind は複数の仮引数を取ることができ、 bind された関数が呼び出されると bind される後続のすべての仮引数は、その仮引数リストの前に付加されます。 つまり以下のように、関数を部分適用す

    JavaScriptでbind()を使って部分適用する | POSTD
  • prototype.jsのbindを理解する - cloned.log

    prototype.js使っていてうれしいことの一つにbindが使えるというのがある。$()とかAjaxのクロスブラウザ対策とかもいいけれど、thisをbindできるのは大きなメリットだと思う。bindがないとどういう時に苦労するかというと、以下のような場面。 var Foo = function(name) { this.name = name; } Foo.prototype.talk = function(message) { alert(this.name + ": " + message); } function inScope() { var foo = new Foo("foo"); setTimeout('foo.talk("Hello World!")', 0); } inScope(); これは実行できない。なぜかというとsetTimeoutに渡しているfooという変数

    prototype.jsのbindを理解する - cloned.log
  • applyの利用してイベントのthisをbind(指定)させる方法(attachEventでthisを指定させる方法) - 新みのる日記

    ちょっとはまったので、まとめとく。 きっかけ 元々の発端は、イベント関連の処理をしていて、FirefoxではaddEventListenerしたとき、 つまりobj.addEventListener(func, 'click', false);という処理を書くと 呼び出し先(func)のthisにobjが入ってくるわけだが、 IEでは、attachEvent先のthisがnullになるという仕様(?)になっている。*1 obj.attachEvent(func, 'onclick'); function func(){ alert(this); // null /* thisを使った処理をかく。 * 例えばotherObj === this は常にnulなためfalseになる */ } これだと、呼び出し先で、呼び出さし元のオブジェクトがわからないためDOM操作などができなくなり。困った困

    applyの利用してイベントのthisをbind(指定)させる方法(attachEventでthisを指定させる方法) - 新みのる日記
  • Situs Resmi Judi Poker Online Uang Asli Indonesia

    yabooo.org | Situs Judi Joker Slot Gacor Terpopuler Banyak Bonus yabooo.org Yaitu Agen Judi Joker Slot Mudah Jackpot Bonus Member Baru Games Slot Gacor, Taruhan Bola, Poker Online Pakai 1 Akun WSO Server Luar India Ingin menikmati pengalaman bermain slot yang mengasyikkan? Jika iya, Anda perlu mencari situs slot terbaru yang gacor! Game slot gacor terbaru dapat memberikan kesempatan bagi Anda untu

  • それっぽいjavascriptを書くコツ - Doge log

    つーかなんか勘違いされる事があるけど私javascript強者じゃないいですけど・・・・。 なんというか、うまくなる方法ってわけでもないけど思いついたものをサラリ。 大したことやってなくても周りから「なんか凄いできる人みたい」って思われたい的なメソッドかな。 なんでコードの見た目も重視ですよと。 関数を引き数に取る小さな関数を作る これはmapやfilterの事なんだけど小さな関数をそーいうのを書いておくと楽ですよと。 配列関連 は特に重要。 あとflattenなどは関数をapplyで一発で呼べるようになるので実装してるといいかも。 関数を作る関数を作る これは重要。というか重宝すると思う。 特にscopeを意識する場合は必須になるんかなと。 あとは遅延実行ね。 関数型のようにかっこよくキメたいあなたにはうってつけかなと。 for文撲滅 これもmapやfilterを使えって事なんだけど。

    それっぽいjavascriptを書くコツ - Doge log
  • 関数的っポイ!? JavaScript: Days on the Moon

    関数型プログラミング言語を触ったことがないのでこれが関数的かどうかは知らないが、いちいち function とか return とか書くのは面倒くさいと思ったのと「関数の変形」や beyond.js 、boost::bind に影響を受けて、関数の変形を行うライブラリを作った。 まずは引数の束縛、及び入れ替え。「関数の変形」及び boost::bind にならって後々入力される引数を _n であらわすことにする。 function concat(a, b) { return "" + a + b; } concat.bind(_1, "a")("b"); // "ba" concat.bind("a", _1)("b"); // "ab" concat.bind(_2, _1)("a", "b"); // "ba" concat.bind(_1, _1)("a"); // "aa" 次に関

  • ハタさんのブログ(復刻版) : 私は如何にしてJavascriptのprototypeを身につけたか。

    javascriptのprototypeはなかなか理解してもらえないですねぇ。 ここ1年間でマジマジと実感しました。 特に、大規模開発をしているとこだと、いろんな知識が入り乱れていて(ホームページ時代からAjaxを読んだ人とか)が、javascriptが単なる関数型列挙な言語(語弊があるけど)という見方が大多数を占めているように見えます。 そんな中で "String.prototype.trim" みたいなコードを見せても、説明下手なのか中々上手く伝わらないですねぇ。 ということで(?)、僕がjavascriptのprototypeを身に着けるまでやったこと、とか。これも備忘 prototype.jsのソースコードを眺める Array.mapとかEnumerable, Hashは勉強になりますねー。 ただ、prototype継承されすぎて、ちょっと多すぎなこともあります。 var

  • 1