JavaScript第5版(247p〜291p)

ためてしまった。。。。

JavaScript 第5版

JavaScript 第5版

13.1.1 グローバル実行コンテキストとなるWindowオブジェクト(p247)

ブラウザ上ではグローバルオブジェクトと、グローバルオブジェクトのプロパティ"window"が等しいらしい。

obj = new Object();
console.log(window.obj == obj); // true

あ、ホントだ。へぇー。
こんなこと知らなくてもJavaScript書いててごめんなさい。

13.1.2 クライアントサイドオブジェクトの階層構造とDOM(p248)

図13-1。めっちゃわかりやすいじゃん!感動した!

13.1.3 イベント駆動型のプログラミングモデル(p249)

15章が待ち遠しい。

13.2.1 <script>タグ(p252)

HTMLをパースしながらスクリプトが実行される。
うん。間違いない。が、HTMLのパーサはJavaScriptを解釈しない。

<html>
<head>
<script type="text/javascript">
// </script>
alert('hello');
</script>
</head>
<body>
</body>
</html>

画面に「alert('hello');」と出てしまう。
ほほう。13.2.6(p257)を先取り

13.2.3 スクリプト言語の指定(p254)

<script language="JavaScript">...</script>
<script type="text/javascript">...</script>
<script type="application/javascript">...</script>

上から下に向けて新しい標準。
metaタグは

<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Script-Type" content="application/javascript">

となる。
サポートはどうなっているだろう。

タグ Safari3.0.4(5523.10) Firefox 2.0.0.10 IE5.2.3(5815.1)
<script>
<script language="JavaScript">
<script type="text/javascript">
<script type="application/javascript"> ×

比較対象のために急遽IE for macに出てもらいました。

13.2.7 古いブラウザからスクリプトを見えないようにする(p258)

まだやりますか?
とかいいながら、今最先端のものも、こういう扱いになるんだろうなぁー

13.4 URLへのJavaScriptの記述(p261)

void演算子。。。。演算子!?
読み返す。p78に発見。

void演算子は、オペランド値を破棄し未定義値を返すという特殊なものです。

そういうことなのか。
javascript:void(0)ってよく見るけど、これは「void 0」なのね。
「return(0)」って書いてるのと同じなのね。

13.4.1ブックマークレット(p262)

これがうまく動作しなかったり、文字数の限界だったりくせ者。。。

13.5.2 onloadイベントハンドラ(p263)

画像などの外部コンテンツがすべて読み込まれるとonloadが始まるんだー。
へぇー。てっきりHTMLのパースとスクリプトの実行が終了したらonloadだと思ってた。

13.6.3 機能テスト(p268)

prototype.jsはどうやってるんだろー

13.6.5 Internet Explorerの条件付きコメント(p271)

IEかぁ。。。debug環境。。。
あ、Debug Bar使ってない!!

13.8.1 JavaScriptではできないこと(p273)

Appletと同じだね。

13.8.2 同一出身ポリシー(p275)

orders.example.comとcatalog.example.com間のドキュメントでデータをやり取りするときは、document.domain=example.comを設定する。

へぇー。自分の上位ドメインなら指定できるんだー
てっきりリバースプロキシさせないとだめなのかと思った

14.2.2 新しいドキュメントのロード(p284)

window.locationとdocument.locationは違うらしい。

  R/W
window.location Locationオブジェクト リダイレクト前のURL 書き込み可
document.location String リダイレクト後のURL 読み込み専用

ほほう。
そして、Location#replace()はHistoryのリストに残らない。
うまくRIAで使えそう。