やったこと

webサービスを作るときに考えたことを垂れ流します

javascriptのthisこわすぎる

javascriptで使うthis意味わかんなすぎてこわいわ。。

こんな感じで、hogeがonloadされたときにthisの内容をメッセージで
出すようにしたの。

hoge.onload = hoge_init();
  
function hoge_init()
{
  alert(this);
}


自分的にはthisにはhogeが入ってて、アラートでhogeオブジェクトが表示されると
思ったんだけど、なんかthisにwindowsオブジェクトとかいうのが入っちゃってるの。

javascriptはコールバックを使うと呼び元を見失っちゃうのかな。自分自身の存在を
忘れてしまうとは情けない。。

しょうがないからこんな感じで、自分を参照できるようにしたった。

hoge.onload = hoge_init(hoge);
  
function hoge_init(hoge)
{
  alert(hoge);
}


うわぁなんかキモい・・絶対間違ったことしてるわ自分。。
こういうときどうすればいいのか分からん、だれかおしえて。。