さわー に教えたい javascriptの面白いところ

最近お仕事でjavascriptをいじっているuchiumiです。
さわーが今読んでいる本(Head First JavaScript)、とても面白そうですね!
機会があれば自分も読んでみたいと思います♪

さてどうやら最近さわーがjavascriptに興味を持ったようなので、今回はそんなさわーに仕事中に出会った、javascriptってすごい!楽しい!わかんない><!と思ったところを伝えたいと思います!

何が楽しかった?

まず一番始めにprototype.jsを使ってAjax処理をしたのですが、それがとても楽しかったです!
askeetで少しやったにもかかわらず、はじめのころはAjaxの仕組みが全然わからずアクションに飛ばしても何が返ってくるのかさっぱりわかりませんでした(returnされたものが返ってくると思っていました)
しかし優しい先輩が解りやすく教えてくれたり、いろいろ試していくうちに少しずつ仕組みを理解していくことができました!
アクションから返ってきた値をいじれるのがとても魅力的だなと思いました♪
しかしまだまだ理解できていないところもたくさんあるので、もっと理解を深めて使ってみたいと思いました。

何が面白かった?

onClick()などのイベント処理が面白いと思いました!
イベントを起こしたオブジェクトから様々なアクションを起こせるので、夢いっぱいです♪
また、ノードをどんどん追っていったりするのも楽しいです。
私はノードを上位に追っていく以下の様なコードを書いたとき、無限ループするのではないかと思いました。

while(1) {
    testObject = testObject.parentNode;
    console.log(testObject);
}

しかし実際はdocumentの上位ノードを取得した時点でエラーになり止まりました(値がnullになるので)
確かによく考えればごく当たり前のことなのですが、すっかり無限ループになると思っていた自分には大発見でした!

何がわからないかった?

イベントハンドラの、ブラウザ毎(OS毎)の発生タイミングの違いについて。
今回「開いているページが非アクティブになったらイベントを開始する」というものを、フォーカスが外れたらイベントが起こるという「onblur()」を使ってやってみたのですが、IEとFirefox,safariでは動作が全然違いました。
IE7の場合は、デスクトップや別ウィンドウタブなどをクリックした時はイベントが開始されず、もう一度該当ページをクリックしてやるとイベントが開始されるといった動きでした。
Firefox3やsafari3はデスクトップ(Finder)などをクリックするとイベントが始まってくれるのですが、ウィンドウタブ間では上手くいかないみたいでした。
たまにイベントが起こったりするみたいなのですが、どういった条件の時に発生するのかわからず。。
ちなみにコードは以下になります(prototype.jsを使ってます)

Event.observe(self, 'blur', function(){alert("test");});

もしかしたらOS毎の違いというものもありそうな感じがします。
こういった、ブラウザやOS間での違いはまだまだ謎だらけで、これからもはまりポイントになりそうです。

何がすごかった?

いろいろな関数を知るたびにすごいすごいと言っていたような気がします。
それとイベントを起こした1つのオブジェクトからたくさんの情報を得られるのは本当に凄いと思いました。
最近やりたいことを調べていると、jQueryを使って簡単にできるものが多くあったので、
jQueryも今度使ってみたいと思いました!


以上になります。
ページは更新されずに、画面上のいろいろいろいろなものを動かせるjavascriptは、誰かが作ったものをいじるのも自分で何か作るのもとても楽しいです♪
javascriptはとても面白くて好きですが、まだまだ基礎的なところなど理解していない部分はたくさんあると思うので、
「Head First JavaScript」を読んでみたり、フォローアップのjavascript甘口講習などを通じて素敵なジャバスクリプターになりたいと思います!

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree