apply と call
ここんとこ漸く javascript 頭になってきて、
チームの自分より詳しい人にも教わってるうちに、
やっとこの人の言う事がわかるようになって来た。
Function.prototypeを拡張して遅延実行を実現する
call と apply がムニャムニャムニャな人はこれを読むとよいです。
* call は固定引数
* apply は可変引数
で。
この問題の正解がやっとわかった。
hoge っていう変数にインスタンス化したクラスの fuga っていうメソッドを、
setTimeout で呼び出して、その中で this 使いたかったら、こうするのだ。
こうするのだ。とか書いてるけど、こんなの文章でもなんでもないよな。
hoge の fuga で this がどうとか、こんなの人に聞かれたら頭がおかしいと思われるか、
その逆かだ。
Hoge = function(){ this.something='lalala..' }Hoge.prototype = {
fuga: function() {
alert(this.something);
}
}var hoge = new Hoge();
setTimeout(function(){hoge.fuga.call(hoge);}, 100);
test はしてないけど、こういうことだ。
チームで仕事するとスキルアップが断然早い。
javascript やる上で、 call と apply は第一関門だと思う。
漫画とかで頭の上で電球がピカッってなるやつ、
ほんとそんな感じだったよ!
うそだけどね。本当はじわじわきた。
染みが広がっていって、あ、世界地図か!みたいなイメージ。
第二関門は、イベントドリヴンへの理解だな。
(個人差があります)
トラックバック(0)
このブログ記事を参照しているブログ一覧: apply と call
このブログ記事に対するトラックバックURL: http://pm.11op.net/mt/mt-tb.cgi/13
コメントする