pikesaku’s blog

個人的なプログラム勉強メモです。記載内容について一切の責任は持ちません。

JavaScript勉強

メモ

http://gihyo.jp/dev/serial/01/crossbrowser-javascript?start=20


クライアント側の処理系のメインストリーム
 ActionScript(Flash)が対抗馬。しかし問題あり。

ECMAScriptがJavaScriptのベース

JavaScriptのエンジンは以下
 Jscript(IE)
 SpiderMonkey(FireFox)
 JavaScriptCore(Safari)
 Futhark(Opera)

各ブラウザはレンダリングエンジンも異なる
 WebKitはSafariとChromeで共通

JavaScript利用時はブラウザ間の違いを意識する必要あり

ライブラリを使えばブラウザ間の違いの対応コストを下げれる

ライブラリで人気があるのは以下
 prototype.js
 dojo
 YUI LibraryにGoogle Closure Library
 日本製ではuupaa.js

ブラウザの種類と標準仕様

http://image.gihyo.co.jp/assets/images/dev/serial/01/crossbrowser-javascript/0001/001.png

どのブラウザDomain1までは対応

Domain2にIEが対応していない

イベントとしてHTMLタグの中にJavaScriptを書くときには<script>タグは不要

「onclick="alert('ボタンがクリックされました。')"」の部分がJavaScript

警告ダイアログが表示中はWebブラウザの操作ができなくなる
 デバッグ利用も可能

ブックマークレット
 ブラウザのURLに直接javascriptを入力する方法
 javascriptを上書きできる

return falseを書くことで、起きたイベントを「なかったことに」する

http://www.atmarkit.co.jp/ait/articles/1102/07/news137.html

DOMはHTMLをドキュメントオブジェクトとして扱うための約束
Document Object Model(ドキュメント・オブジェクト・モデル)の略
HTMLを「ドキュメントツリー」で管理
要素ノード
属性ノード
テキストノード
 <div>aaa</div>
 aaaはdivのfirstChild
があり。

http://www.atmarkit.co.jp/ait/articles/1102/07/news137_2.html

idでDOMへアクセスが可能

ドキュメントツリーはブラウザ毎に構造が違う。

そのため、idなどでアクセスする方がよし。

DOM

http://www.atmarkit.co.jp/ait/articles/1102/07/news137_2.html

上記URLから以下の図を引用


http://image.itmedia.co.jp/ait/articles/1102/07/r13zu02.jpg



http://image.itmedia.co.jp/ait/articles/1102/07/r13zu03.jpg