apply と call
ここんとこ漸く javascript 頭になってきて、
チームの自分より詳しい人にも教わってるうちに、
やっとこの人の言う事がわかるようになって来た。
Function.prototypeを拡張して遅延実行を実現する
call と apply がムニャムニャムニャな人はこれを読むとよいです。
* call は固定引数
* apply は可変引数
で。
this はどこ問題
この問題の正解がやっとわかった。
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 は第一関門だと思う。
漫画とかで頭の上で電球がピカッってなるやつ、
ほんとそんな感じだったよ!
うそだけどね。本当はじわじわきた。
染みが広がっていって、あ、世界地図か!みたいなイメージ。
第二関門は、イベントドリヴンへの理解だな。
(個人差があります)