初勉強 ― 仲間が書いたソースをよむ
学校の演習で5人のチームでコンビニグルメ検索サイトをつくろうとしています。
演習内容は、
コンビニグルメについて書かれたブログから情報を集めて
検索結果の中で商品の評判として表示するっていうものです。
そこでまず、チームメンバーの一人が書いたソースを見せてもらうことに。。
- GoogleMapを作成して、地名/住所入力で移動して
- 学校周辺のコンビニ(数件)の位置を示すマーカーを表示。
- マーカーがクリックされると吹き出しを表示。
というものらしいのですが…
Webプログラミングの世界に初めて入った私には
JavaScriptが、さっ ぱり読めなくて、
id:sotarok 先生に教えてもらいました(・ω・)
- RegExpオブジェクト
var keyGeo ="(APIキー)"; var keyLocal="(APIキー)"; var reGeo = new RegExp("geocities.jp"); if ( reGeo.test(window.location.href) ) { loadScript(keyGeo); } else { loadScript(keyLocal); }
正規表現の用法については、それだけで一冊の本が出てるくらい深いものらしい。
なので、使い方だけ教わりました。
- 今回は文字列のパターンマッチングに使っている。
- 上のように生成しない方法
if ((window.location.href).match(/geosities\.jp/) ) { loadScript(keyGeo); } else { loadScript(keyLocal); }
- window.location.href(ウィンドウに表示されているページのURL)これ自体をオブジェクトとして扱える!?
- matchメソッドでもパターン検索可能
- /で括ると検索したいパターンが設定できる
- 使えるメタ文字(X, Y, Zは文字とする)
- ^XXX ⇒ XXXからはじまる
- XXX$ ⇒ XXXでおわる
- [XYZ] ⇒ X, Y, Zのどれかにマッチ
- YX+ ⇒ Xが1回以上一致
- YX* ⇒ Xが0回以上一致(+は*ともに最長一致をする)
JavaScriptはイベント駆動型なんだよ
と教わりました。
<form onsubmit="moveTo(this.place.value); return false;"> <input type="text" size="40" id="place" /> <input type="submit" value="移動" /> </form> <div id="map" style="width: 500px; height: 400px"></div>
- イベントの発生と取得して実行させたい場合に使える。
- よく使いそうなもの
- onload ⇒ ロード時
- onclick ⇒ クリック時
- onfocus ⇒ フォーカスが得た時
- onblur ⇒ フォーカスが離れた時
- onsubmit ⇒ submitボタンが押された時
- onchange ⇒ フォームが書き換えられてフォーカスが離れた時
- onkeydown ⇒ キーを押した時
- onkeypress ⇒ キーを押したままの時
- onkeyup ⇒ キーを離した時
- onmouseover ⇒ オブジェクトにカーソルが乗った時
- onmouseout ⇒ オブジェクトからカーソルが離れた時
- 上のonsubmitでfalseを返すと、ページ遷移しない。
Java勉強中なので、まだオブジェクト指向は混乱します(;;
また機会があったらJavaScript勉強しますっ。