apply と call

| | コメント(0) | トラックバック(0)



ここんとこ漸く 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 は第一関門だと思う。


漫画とかで頭の上で電球がピカッってなるやつ、


ほんとそんな感じだったよ!


うそだけどね。本当はじわじわきた。


染みが広がっていって、あ、世界地図か!みたいなイメージ。



第二関門は、イベントドリヴンへの理解だな。


(個人差があります)


トラックバック(0)

このブログ記事を参照しているブログ一覧: apply と call

このブログ記事に対するトラックバックURL: http://pm.11op.net/mt/mt-tb.cgi/13

コメントする