David Flanagan(デイビッド・フラナガン)氏の著書
についてまとめました。
かなりボリュームがありますが、jsをさわるなら、これは読んでおいて損はないかなと思いました。
1章 JavaScriptの概要
- 1.1 コアJavaScript言語
- 1.2 クライアントサイドJavaScript
- 例1-1 JavaScriptを使った住宅ローン計算機
第1部 コアJavaScript
2章 字句構造
- 2.1 文字コード
- 2.1.1 大文字と小文字
- 2.1.2 空白スペース、改行、制御文字
- 2.1.3 Unicodeエスケープシーケンス
- 2.1.4 正規化
- 2.2 コメント
- 2.3 リテラル
- 2.4 識別子と予約語
- 2.4.1 予約語
- 2.5 省略可能なセミコロン
3章 型、値、変数
- 3.1 数値
- 3.1.1 整数リテラル
- 3.1.2 浮動小数点リテラル
- 3.1.3 JavaScriptでの算術演算子
- 3.1.4 2進浮動小数点と丸め誤差
- 3.1.5 日付と時刻
- 3.2 テキスト
- 3.2.1 文字列リテラル
- 3.2.2 文字列リテラルのエスケープシーケンス
- 3.2.3 文字列の操作
- 3.2.4 パターンマッチング
- 3.3 論理値
- 3.4 nullとundefined
- 3.5 グローバルオブジェクト
- 3.6 ラッパーオブジェクト
- 3.7 不変な基本型値と可変なオブジェクト参照
- 3.8 型の変換
- 3.9 変数の宣言
- 3.9.1 宣言の繰り返しと省略
- 3.10 変数のスコープ
- 3.10.1 関数のスコープとホイスティング(巻き上げ)
- 3.10.2 プロパティとしての変数
- 3.10.3 スコープチェーン
4章 式と演算子
- 4.1 単項式
- 4.2 オブジェクトと配列の初期化
- 4.3 関数定義式
- 4.4 プロパティアクセス式
- 4.5 呼び出し式
- 4.6 オブジェクト生成式
- 4.7 演算子の概要
- 4.7.1 オペランドの数
- 4.7.2 オペランドと演算結果の型
- 4.7.3 左辺値
- 4.7.4 演算子の副作用
- 4.7.5 演算子の優先順位
- 4.7.6 演算子の結合性
- 4.7.7 評価順序
- 4.8 算術演算子
- 4.8.1 +演算子
- 4.8.2 単項算術演算子
- 4.8.3 ビット演算子
- 4.9 関係演算子
- 4.9.1 等値演算子と不等演算子
- 4.9.2 比較演算子
- 4.9.3 in演算子
- 4.9.4 instanceof演算子
- 4.10 論理演算子
- 4.10.1 論理積演算子 &&
- 4.10.2 論理和演算子 ||
- 4.10.3 論理否定演算子 !
- 4.11 代入演算子
- 4.11.1 算術演算を伴う代入演算子
- 4.12 評価式
- 4.12.1 eval()
- 4.12.2 グローバルeval()
- 4.12.3 strictモードでのeval()
- 4.13 そのほかの演算子
- 4.13.1 条件演算子 ?:(三項演算子)
- 4.13.2 typeof演算子
- 4.13.3 delete演算子
- 4.13.4 void演算子
- 4.13.5 カンマ演算子
5章 文
- 5.1 式文
- 5.2 複合分と空文
- 5.3 宣言文
- 5.3.1 var文
- 5.3.2 function文
- 5.4 条件文
- 5.4.1 if文
- 5.4.2 else if文
- 5.4.3 switch文
- 5.5 ループ文
- 5.5.1 while文
- 5.5.2 do/while文
- 5.5.3 for文
- 5.5.4 for/in文
- 5.5.4.1 プロパティの列挙順序
- 5.6 ジャンプ文
- 5.6.1 ラベル文
- 5.6.2 break文
- 5.6.3 continue文
- 5.6.4 return文
- 5.6.5 throw文
- 5.6.6 try/catch/finally文
- 5.7 そのほかの文
- 5.7.1 with文
- 5.7.2 debugger文
- 5.7.3 “user strict”文
- 5.8 JavaScript文のまとめ
6章 オブジェクト
- 6.1 オブジェクトの生成
- 6.1.1 オブジェクトリテラル
- 6.1.2 newを使ったオブジェクトの生成
- 6.1.3 プロトタイプ
- 6.1.4 Object.create()
- 例6-1 あるプロトタイプを継承する新たなアブジェクトを生成する
- 6.2 プロパティの読み出しと書き込み
- 6.2.1 連想配列としてのオブジェクト
- 6.2.2 継承
- 6.2.3 プロパティアクセスのエラー
- 6.3 プロパティの削除
- 6.4 プロパティのテスト
- 6.5 オブジェクトプロパティの調査
- 例6-2 オブジェクトのプロパティを列挙するユーティリティ関数
- 6.6 プロパティのゲッターメソッドとセッターメソッド
- 6.7 プロパティ属性
- 例6-3 プロパティ属性をコピーする
- 6.7.1 ゲッターメソッドとセッターメソッドのためのレガシーAPI
- 6.8 オブジェクト属性
- 6.8.1 プロトタイプ属性
- 6.8.2 クラス属性
- 6.8.3 拡張可属性
- 6.9 オブジェクトのシリアライズ
- 6.10 オブジェクトのメソッド
- 6.10.1 toString()メソッド
- 6.10.2 toLocaleString()メソッド
- 6.10.3 toJSON()メソッド
- 6.10.4 valueOf()メソッド
7章 配列
- 7.1 配列の生成
- 7.2 配列の要素の読み書き
- 7.3 疎な配列
- 7.4 配列の長さ
- 7.5 配列の要素の追加と削除
- 7.6 配列の要素の巡回
- 7.7 多次元配列
- 7.8 配列のメソッド
- 7.8.1 join()メソッド
- 7.8.2 reverse()メソッド
- 7.8.3 sort()メソッド
- 7.8.4 concat()メソッド
- 7.8.5 slice()メソッド
- 7.8.6 splice()メソッド
- 7.8.7 push()、pop()メソッド
- 7.8.8 unshift()、shift()メソッド
- 7.8.9 toString()、toLocalString()メソッド
- 7.9 ECMAScript5の配列メソッド
- 7.9.1 forEach()メソッド
- 7.9.2 map()メソッド
- 7.9.3 fillter()メソッド
- 7.9.4 every()、some()メソッド
- 7.9.5 reduce()、reduceRight()メソッド
- 7.9.6 indexOf()、lastIndexOf()メソッド
- 7.10 配列の種類
- 7.11 配列のようなオブジェクト
8章 関数
- 8.1 関数の定義
- 例8-1 JavaScript関数の定義
- 8.1.1 入れ子型の関数
- 8.2 関数の呼び出し
- 8.2.1 関数呼び出し
- 8.2.2 メソッド呼び出し
- 8.2.3 コンストラクタ呼び出し
- 8.2.4 間接的な呼び出し
- 8.3 関数の引数と仮引数
- 8.3.1 省略可能な引数
- 8.3.2 可変長の引数リスト(Argumentsオブジェクト)
- 8.3.2.1 calleeプロパティとcallerプロパティ
- 8.3.3 引数としてオブジェクトのプロパティを利用
- 8.3.4 変数の型
- 8.4 値としての関数
- 例8-2 関数を値として使う
- 8.4.1 自分専用の関数プロパティの定義
- 8.5 名前空間としての関数
- 例8-3 extend()関数
- 8.6 クロージャ
- 例8-4 クロージャを使ったプライベートプロパティアクセサメソッド
- 8.7 関数のプロパティとメソッドのコンストラクタ
- 8.7.1 lengthプロパティ
- 8.7.2 prototypeプロパティ
- 8.7.3 call()メソッドと、apply()メソッド
- 8.7.4 bind()メソッド
- 例8-5 ECMAScript3用のFunction.bind()メソッド
- 8.7.5 toString()メソッド
- 8.7.6 Function()コンストラクタ
- 8.7.7 呼び出し可能なオブジェクト
- 8.8 関数型プログラミング
- 8.8.1 関数による配列の処理
- 8.8.2 高階層化
- 8.8.3 関数の部分適用
- 8.8.4 メモ化
9章 クラスとモジュール
- 9.1 クラスとプロトタイプ
- 例9-1 単純なJavaScriptクラス
- 9.2 クラスとコンストラクタ
- 例9-2 コンストラクタを使ったRangeクラス
- 9.2.1 コンストラクタとクラスの同一性
- 9.2.2 constructorプロパティ
- 9.3 JavaScriptでのJavaスタイルのクラス
- 例9-3 Complex.js:複素数クラス
- 9.4 クラスの拡張
- 9.5 クラスと型
- 9.5.1 instanceof演算子
- 9.5.2 constructorプロパティ
- 9.5.3 コンストラクタ名
- 例9-4 値の型を判定するtype()関数
- 9.5.4 ダックタイピング
- 例9-5 ダックタイピング確認用の関数
- 9.6 JavaScriptでのオブジェクト指向的な技術
- 9.6.1 例:Setクラス
- 例 9-6 Set.js:値の任意のセット
- 9.6.2 例:列挙型
- 例9-7 JavaScriptでの列挙型
- 例9-8 列挙型を使ってトランプを表す
- 9.6.3 標準的な型変換メソッド
- 9.6.4 比較用のメソッド
- 9.6.5 メソッドの借用
- 例9-9 借用可能な汎用的なメソッド
- 9.6.6 プライベートな状態
- 例9-10 弱くカプセル化した両端を持つRangeクラス
- 9.6.7 コンストラクタオーバーロードとファクトリメソッド
- 9.7 サブクラス
- 9.7.1 サブクラスの定義
- 例9-11 サブクラス定義ユーティリティ
- 例9-12 SingletonSet:Setの単純なサブクラス
- 9.7.2 コンストラクタチェーンとメソッドチェーン
- 例9-13 サブクラスからスーパークラスへのコンストラクタチェーンとメソッドチェーン
- 例9-14 クラスファクトリとメソッドチェーン
- 9.7.3 合成とサブクラス
- 例9-15 セットをサブクラス化する代わりに合成を使う
- 9.7.4 クラス階層と抽象クラス
- 例9-16 中小Setクラスと具象クラスの階層構造
- 9.8 ECMAScript5のクラス
- 9.8.1 プロパティを列挙不可にする
- 例9-17 列挙不可プロパティの定義
- 9.8.2 不変クラスの定義
- 例9-18 読み出し専用のプロパティと、メソッドを持つ不変クラス
- 例9-19 プロパティディスクリプタユーティリティ
- 例9-20 ユーティリティ関数を使った不変クラス
- 9.8.3 オブジェクト状態のカプセル化
- 例9-21 両端を強くカプセル化したRangeクラス
- 9.8.4 クラス拡張の抑止
- 9.8.5 サブクラスとECMAScript5
- 例9-22 StringSet:ECMAScript5を使ったSetサブクラス
- 9.8.6 プロパティディスクリプタ
- 例9-23 ECMAScript5のプロパティユーティリティ
- 9.9 モジュール
- 9.9.1 名前空間としてのオブジェクト
- 9.9.2 プライベートな名前空間としての関数スコープ
- 例9-24 モジュール関数中のSetクラス
10章 正規表現パターンマッチング
- 10.1 正規表現の定義
- 10.1.1 リテラル文字
- 10.1.2 文字クラス
- 10.1.3 繰り返し
- 10.1.3.1 非貪欲な繰り返し
- 10.1.4 選択、グループ化、参照
- 10.1.5 一致位置の指定
- 10.1.6 フラグ
- 10.2 パターンマッチング用の文字列メソッド
- 10.3 RegExpオブジェクト
- 10.3.1 RegExpプロパティ
- 10.3.2 RegExpメソッド
11章 JavaScriptのサブセットと拡張
- 11.1 JavaScriptのサブセット
- 11.1.1 よいパーツ
- 11.1.2 セキュリティのためのサブセット
- 11.2 定義とスコープ付きの変数
- 11.3 分割代入
- 11.4 反復機構
- 11.4.1 for eachループ
- 11.4.2 イテレータ
- 11.4.3 ジェネレータ
- 例11-1 ジェネレータのパイプ
- 11.4.4 配列内包
- 11.4.5 ジェネレータ式
- 11.5 簡易表記関数
- 11.6 複数のcatch節
- 11.7 E4X:ECMAScript for XML
12章 サーバーサイドJavaScript
- 12.1 Rhino上でのJavaをスクリプトする
- 12.1.1 Rhinoの例
- 例12-1 Rhinoを使ったダウンロードマネージャアプリケーション
- 12.2 Nodeによる非同期I/O
- 12.2.1 Nodeの例:HTTPサーバ
- 例12-2 Nodeで記述したHTTPサーバー
- 例12-3 Nodeによる”httputils”モジュール
- 12.2.2 Nodeの例:HTTPクライアントユーティリティモジュール
第2部 クライアントサイドJavaScript
13章 Webブラウザに組み込まれたJavaScript
- 13.1 クライアントサイドJavaScript
- 例13-1 コンテンツを見えるようにするクライアントサイドJavaScript
- 13.1.1 Webドキュメント中でのJavaScript
- 13.1.2 Webアプリケーション中でのJavaScript
- 13.2 HTMLドキュメントへのJavaScriptコードの埋め込み
- 13.2.1 script 要素
- 例13-2 JavaScriptによる単純なデジタル時計
- 13.2.2 外部ファイルのスクリプト
- 13.2.3 スクリプトの種類
- 13.2.4 HTML中のイベントハンドラ
- 13.2.5 URLへのJavaScriptの記述
- 13.2.5.1 ブックマークレット
- 13.3 JavaScriptプログラムの実行方法
- 13.3.1 同期と非同期と遅延スクリプト
- 例13-3 読み込み時にドキュメントコンテンツを生成する
- 例13-4 スクリプト非同期に読み込み実行する
- 13.3.2 イベントドリブンJavaScript
- 例13-5 onLoad:ドキュメントが読み込まれたときに関数を呼び出す
- 13.3.3 クライアントサイドJavaScriptのスレッドモデル
- 13.3.4 クライアントサイドJavaScriptのタイムライン
- 13.4 互換性と相互運用性
- 13.4.1 互換ライブラリ
- 13.4.2 グレードブラウザサポート
- 13.4.3 機能テスト
- 13.4.4 クァークスモードと標準モード
- 13.4.5 ブラウザテスト
- 13.4.6 Internet Explorerの条件付きコメント
- 13.5 アクセサビリティ
- 13.6 セキュリティ
- 13.6.1 JavaScriptではできないこと
- 13.6.2 同一出身ポリシー
- 13.6.2.1 同一出身ポリシーの緩和
- 13.6.3 プラグインやActiveXコントロールの制御
- 13.6.4 クロスサイトスクリプティング
- 13.6.5 Dos攻撃
- 13.7 クライアントサイドフレームワーク
14章 Windowsオブジェクト
- 14.1 タイマー
- 例14-1 タイマーユーティリティ関数
- 14.2 ブラウザ上のLocationオブジェクトと移動
- 14.2.1 URLの解析
- 例14-2 URLの検索文字列から引数を取り出す
- 14.2.2 新しいドキュメントのロード
- 14.3 閲覧の履歴
- 14.4 ブラウザと画面情報
- 14.4.1 Navigatorオブジェクト
- 例14-3 navigator.userAgentを使ったブラウザテスト
- 14.4.2 Screenオブジェクト
- 14.5 ダイアログボックス
- 例14-4 showModalDialog()用のHTMLファイル
- 14.6 エラー処理
- 14.7 Windowプロパティとしてのドキュメント要素
- 14.8 複数のウィンドウとフレーム
- 14.8.1 ウィンドウのオープンとクローズ
- 14.8.1.1 ウィンドウのクローズ
- 14.8.2 フレーム間の関係
- 14.8.3 相互作用するウィンドウでのJavaScriptの使用
15章 ドキュメントの制御
- 15.1 DOMの概要
- 15.2 ドキュメント要素の選択
- 15.2.1 IDによる要素の選択
- 例15-1 IDによる複数要素の検索
- 15.2.2 名前による要素の選択
- 15.2.3 型による要素の選択
- 15.2.4 CSSクラスによる要素の選択
- 15.2.5 CSSセレクタによる要素の選択
- 15.2.6 document.all[]
- 15.3 ドキュメント構造の探索
- 15.3.1 ノードのツリー構造としてのドキュメント
- 15.3.2 Elementのツリー構造としてのドキュメント
- 例15-2 可搬性のあるドキュメント探索関数
- 15.4 属性
- 15.4.1 プロパティとしてのHTML属性
- 15.4.2 非HTML属性の取得と設定
- 15.4.3 データセット属性
- 15.4.4 Attrノードとしての属性
- 15.5 要素のコンテンツ
- 15.5.1 HTMLとしての要素のコンテンツ
- 15.5.2 プレーンテキストとしての要素のコンテンツ
- 15.5.3 Textノードとしての要素コンテンツ
- 例15-3 ある要素の子孫Textノードのすべてを検索する
- 15.6 ノードの作成、挿入、削除
- 15.6.1 ノードの作成
- 15.6.2 ノードの挿入
- 例15-4 テーブルの行をソートする
- 15.6.3 ノードの削除と置換
- 例15-5 innerHTMLを使ってouterHTMLプロパティを実装する
- 15.6.4 DocumentFragmentの使い方
- 例15-6 innerHTMLを使ってinsertAdjacentHTML()を実装する
- 15.7 例:目次の作成
- 例15-7 目次の自動生成
- 15.8 ドキュメントと要素位置とスクロール
- 15.8.1 ドキュメント座標とビューポート座標
- 例15-8 ウィンドウのスクロールバーの位置を取得する
- 例15-9 ウィンドウのビューポートの大きさを取得する
- 15.8.2 要素のジオメトリの取得
- 15.8.3 位置から要素を取得
- 15.8.4 スクロール
- 15.8.5 要素の大きさ、位置、オーバーフローの詳細
- 15.9 HTMLフォーム
- 15.9.1 フォームとフォーム要素の選択
- 15.9.2 フォームと要素のプロパティ
- 15.9.3 フォームとフォーム要素のイベントハンドラ
- 15.9.4 プッシュボタン
- 15.9.5 トグルボタン
- 15.9.6 テキストフィールド
- 15.9.7 Select要素とOption要素
- 15.10 ドキュメントのそのほかの機能
- 15.10.1 ドキュメントのプロパティ
- 15.10.2 document.write()メソッド
- 15.10.3 選択されたテキストの読み出し
- 15.10.4 編集可能なコンテンツ
16章 CSSの制御
- 16.1 CSSの概要
- 16.1.1 カスケード
- 16.1.2 CSSの歴史
- 16.1.3 ショートカットプロパティ
- 16.1.4 非標準のプロパティ
- 16.1.5 CSSの使用例
- 例16-1 CSSの定義と使用例
- 16.2 重要なCSSプロパティ
- 16.2.1 CSSによる要素の位置指定
- 16.2.1.1 3次元座標:z-index
- 16.2.1.2 CSSによる位置指定の例:影付きテキスト
- 16.2.2 ボーダー、マージン、パディング
- 16.2.3 CSSボックスモデルと位置指定の詳細
- 16.2.3.1 ボーダーボックスモデルとbox-sizingプロパティ
- 16.2.4 要素の表示方法と可視性
- 16.2.5 色と透明度
- 16.2.6 部分表示:overflowとclip
- 16.2.7 例:半透明のウィンドウを重ね合わせる
- 例16-2 CSSを使ってウィンドウを表示する
- 16.3 インラインスタイルの制御
- 16.3.1 CSSアニメーション
- 例16-3 CSSアニメーション
- 16.4 算出スタイルの取得
- 例16-4 算出スタイルを取得し、インラインスタイルに設定する
- 16.5 CSSクラスの制御
- 例16-5 classList():classNameをCSSクラスのセットとして扱う
- 16.6 スタイルシートの制御
- 16.6.1 スタイルシートの有効化と無効化
- 16.6.2 スタイルシートルールの取得、挿入、削除
- 16.6.3 新しいスタイルシートの作成
- 例16-6 新しいスタイルシートの作成
17章 イベント処理
- 17.1 イベントタイプ
- 17.1.1 レガシーイベントタイプ
- 17.1.1.1 フォームイベント
- 17.1.1.2 Windowsイベント
- 17.1.1.3 マウスイベント
- 17.1.1.4 キーイベント
- 17.1.2 DOMイベント
- 17.1.3 HTML5イベント
- 17.1.4 タッチスクリーンイベントとモバイルイベント
- 17.2 イベントハンドラの登録
- 17.2.1 イベントハンドラプロパティの設定
- 17.2.2 イベントハンドラ属性の設定
- 17.2.3 addEventListener()
- 17.2.4 attachEvent()
- 17.3 イベントハンドラ呼び出し
- 17.3.1 イベントハンドラの引数
- 17.3.2 イベントハンドラのコンテキスト
- 17.3.3 イベントハンドラのスコープ
- 17.3.4 イベントハンドラの戻り値
- 17.3.5 呼び出し順序
- 17.3.6 イベント伝播
- 17.3.7 イベントのキャンセル
- 17.4 ドキュメントのloadイベント
- 例17-1 ドキュメントの準備が出来たときに関数を呼び出す
- 17.5 マウスイベント
- 例17-2 ドキュメント要素をドラッグする
- 17.6 マウスホイールイベント
- 例17-3 mousewheelイベントの処理
- 17.7 ドラッグ&ドロップイベント
- 例17-4 独自ドラッグソース
- 例17-5 ドロップターゲットとドラッグソースとしてのリスト
- 17.8 テキストイベント
- 例17-6 ユーザの入力をフィルタする
- 例17-7 propertychangeイベントを使ってテキスト入力を判定する
- 17.9 キーボードイベント
- 例17-8 キーボードショートカット用のkeymapクラス
18章 HTTPの制御
- 18.1 XMLHttpRequestの利用方法
- 18.1.1 リクエストの指定
- 例18-1 サーバーにプレーンテキストをPOSTする
- 18.1.2 レスポンスの読み出し
- 例18-2 onreadystatechangeを使ってHTTPレスポンスを取得する
- 18.1.2.1 同期レスポンス
- 18.1.2.2 レスポンスの解釈
- 例18-3 HTTPレスポンスの解釈
- 18.1.3 リクエストボディのエンコード
- 18.1.3.1 フォームエンコードされたリクエスト
- 例18-4 HTTPリクエスト用にオブジェクトをエンコードする
- 例18-5 フォームエンコードされたデータを持つHTTP POSTリクエストを作成する
- 例18-6 フォームエンコードされたデータを持つGETリクエストを作成する
- 18.1.3.2 JSONエンコードされたリクエスト
- 例18-7 JSONエンコードされたボディを持つHTTP POSTリクエストを作成する
- 18.1.3.3 XMLエンコードされたリクエスト
- 例18-8 XMLドキュメントをボディとして持つHTTP POSTリクエスト
- 18.1.3.4 ファイルのアップロード
- 例18-9 HTTP POSTリクエストを行うファイルアップロード要素
- 18.1.3.5 multipart/form-dataリクエスト
- 例18-10 multipart/form-dataリクエストボディをPOSTする
- 18.1.4 HTTPプログレスイベント
- 18.1.4.1 アップロードプログレスイベント
- 例18-11 HTTPアップロード状況を監視する
- 18.1.5 リクエストの中止とタイムアウト
- 例18-12 タイムアウトを実装する
- 18.1.6 クロスオリジンなHTTPリクエスト
- 例18-13 HEADとCORSを使ってリンクの詳細情報をリクエストする
- 18.2 <script>によるHTTP制御:JSONP
- 例18-14 script要素を使ってJSONPリクエストを作成する
- 18.3 Sever-Sent Eventsを使ったComet
- 例18-15 EventSourceを使った単純なチャットクライアント
- 例18-16 XMLHttpRequestを使ってEventSourceをエミュレートする
- 例18-17 Server-Sent Eventsを使ったチャットサーバ
19章 jQueryライブラリ
- 19.1 jQueryの基本
- 19.1.1 jQuery()関数
- 19.1.2 問い合わせと問い合わせ結果
- 19.2 jQueryのゲッターとセッター
- 19.2.1 HTML属性の取得と設定
- 19.2.2 CSS属性の取得と設定
- 19.2.3 CSSクラスの取得と設定
- 19.2.4 HTMLフォーム値の取得と設定
- 19.2.5 要素のコンテンツの取得と設定
- 19.2.6 要素の位置/サイズの取得と設定
- 19.2.7 要素のデータ取得と設定
- 19.3 ドキュメント構造の変更
- 19.3.1 要素の挿入と置換
- 19.3.2 要素のコピー
- 19.3.3 要素のラップ
- 19.3.4 要素の削除
- 19.4 jQueryでのイベント処理
- 19.4.1 単純形式のイベントハンドラ登録
- 19.4.2 jQueryのイベントハンドラ
- 19.4.3 jQuery Eventオブジェクト
- 19.4.4 高度なイベントハンドラ登録
- 19.4.5 イベントハンドラの登録解除
- 19.4.6 イベントのトリガー
- 19.4.7 カスタムイベント
- 19.4.8 ライブイベント
- 19.5 アニメーション効果
- 19.5.1 単純なアニメーション効果
- 19.5.2 カスタムアニメーション
- 19.5.2.2 アニメーションオプションオブジェクト
- 19.5.3 アニメーション効果の中止、遅延、キューイング
- 19.6 jQueryによるAjax
- 19.6.1 load()メソッド
- 19.6.2 Ajaxユーティリティ関数
- 19.6.2.1 jQuery.getScript()
- 19.6.2.2 jQuery.getJSON()
- 19.6.2.3 jQuery.get()、jQuery.post()
- 19.6.3 jQuery.Ajax()関数
- 19.6.3.1 よく使われるオプション
- 19.6.3.2 コールバック
- 19.6.3.3 あまり使われないオプションとフック
- 19.6.4 Ajaxイベント
- 19.7 ユーティリティ関数
- 19.8 jQueryセレクタと選択メソッド
- 19.8.1 jQueryセレクタ
- 19.8.1.1 単体セレクタ
- 19.8.1.2 セレクタ結合子
- 19.8.1.3 セレクタグループ
- 19.8.2 選択メソッド
- 19.8.2.1 コンテキストとしての選択の利用
- 19.8.2.2 直前の選択の復元
- 19.9 プラグインによるjQueryの拡張
- 19.10 jQuery UIライブラリ
20章 クライアントサイドストレージ
- 20.1 localStorageとsessionStrage
- 20.1.1 Storageの有効期間とスコープ
- 20.1.2 Storage API
- 20.1.3 Storageイベント
- 20.2 クッキー
- 20.2.1 クッキー属性:有効期間とスコープ
- 20.2.2 クッキーの登録
- 20.2.3 クッキーの読み出し
- 例20-1 document.cookiesプロパティの解釈
- 20.2.4 クッキーの制限事項
- 20.2.5 クッキーによるStorage
- 例20-2 クッキーによるStorage APIの実装
- 20.3 IEのuserData 永続化機構
- 例20-3 IEのuserDataによるStorage API(一部)の実装
- 20.4 アプリケーションストレージとオフラインWebアプリケーション
- 20.4.1 アプリケーションキャッシュマニュフェスト
- 20.4.1.1 複雑なマニュフェスト
- 20.4.2 キャッシュの更新
- 例20-4 アプリケーションキャッシュイベントの処理
- 20.4.3 オフラインWebアプリケーション
- 例20-5 permanote.appcache
- 例20-6 permanote.html
- 例20-7 permanote.js
21章 メディアとグラフィックの制御
- 21.1 スクリプトによる画像の判断
- 21.1.1 控えめな画像ロールオーバー
- 例21-1 控えめなロールオーバー
- 21.2 オーディオとビデオのスクリプト制御
- 12.2.1 タイプ選択と読み込み
- 12.2.2 メディアの再生と制御
- 12.2.3 メディア状態の問い合わせ
- 12.2.4 メディアイベント
- 21.3 SVG(Scalable Vector Graphics)
- 例21-2 JavaScriptとSVGを使って円グラフを描画する
- 例21-3 SVG画像を操作して時刻を表示する
- 21.4 <canvas>中のグラフィック
- 21.4.1 線の描画とポリゴンの塗りつぶし
- 例21-4 moveTo()、lineTo()、closePath()を使って一般的な多角形を描画する
- 例21-5 グラフィック状態管理ユーティリティ
- 21.4.2 グラフィック属性
- 21.4.3 キャンバスの大きさと座標
- 21.4.4 座標系変換
- 21.4.4.1 座標系変換の数学的解釈
- 21.4.4.2 座標変換の例
- 例21-6 座標系変換によるコッホ雪片
- 21.4.5 曲線の描画と塗りつぶし
- 例21-7 パスに曲線を追加する
- 21.4.6 矩形
- 21.4.7 色、透明度、グラデーション、パターン
- 21.4.8 線描画属性
- 21.4.9 テキスト
- 21.4.10 クリッピング
- 21.4.11 影
- 例21-8 影属性を設定する
- 21.4.12 画像
- 例21-9 drawImage()の利用
- 21.4.13 合成
- 21.4.14 ピクセル操作
- 例21-10 ImageDataを使ったぼかし処理
- 21.4.15 衝突判定
- 例21-11 マウスイベントが現在のパス上に存在するかどうかをテストする
- 例21-12 マウスイベントが塗りつぶしたピクセル上で発生したかテストする
- 21.4.16 キャンバスの例:スパークライン
- 例21-13 <canvas>要素を使ったスパークライン
22章 HTML5 API
- 22.1 GeoLocation
- 例22-1 位置情報を使って地図を表示する
- 例22-2 位置情報の利用例
- 22.2 履歴管理
- 例22-3 pushState()を使った履歴管理
- 22.3 クロスオリジンメッセージ
- 例22-4 postMessage()で制御するTwitter検索ガジェット
- 例22-5 postMessage()を使ってTwitter検索ガジェットを利用する
- 22.4 Web Workers
- 22.4.1 Workerオブジェクト
- 22.4.2 ワーカーのスコープ
- 22.4.3 Web Workerの例
- 例22-6 画像処理用のWeb workersを作成する
- 例22-7 Web Workersの中の画像処理
- 例22-8 Web Workers中で同期型XMLHttpRequestを発行する
- 22.5 型付き配列とArrayBuffer
- 22.6 Blob
- 22.6.1 Blobとしてのファイル
- 22.6.2 Blobのダウンロード
- 例22-9 XMLHttpRequestを使ってBlobをダウンロードする
- 22.6.3 Blobの構築
- 22.6.4 Blob URL
- 例22-10 ドロップされた画像ファイルをBlob URL付きで表示する
- 22.6.5 Blobの読み出し
- 例22-11 FileReaderを使ってテキストファイルを読み出す
- 例22-12 ファイルの最初の4バイトを読み出す
- 22.7 Filesystem API
- 例22-13 非同期ファイルシステムAPIの利用
- 例22-14 同期型のファイルシステムAPI
- 22.8 クライアントサイドデータベース
- 例22-15 US郵便番号のIndexedDBデータベース
- 22.9 WebSocket
- 例22-16 WebSocketベースのチャットクライアント
- 例22-17 WebSocketとNodeを使ったチャットサーバ
参考書籍: