本書は、解説→練習問題→理解度チェックという3つのステップで、JavaScriptの基本を習得できる入門書です。基礎知識・基本文法から、DOMやCSSの操作、Ajax/jQueryの活用方法まで、JavaScriptを利用したWebページ作成に必要な知識とテクニックがしっかり身につきます。第2版では、ECMAScript 5対応、jQueryの基礎テクニックの追加をはじめ、全体的にきめ細かな改訂を行ない、さらにわかりやすく、初心者に最適の入門書に仕上がっています。
「一からJavaScriptを学びたい」「きちんと基礎固めをしたい」「JavaScriptの基本・テクニックを身につけたい」という方におすすめの1冊です。
第1章 はじめてのJavaScript
1.1 JavaScriptとは?
JavaScriptの歴史
JavaScriptの標準化
1.2 JavaScript プログラミングの第一歩
JavaScript プログラミングの流れ
1.3 JavaScriptコードの記述方法
JavaScriptコードの基本的な記述方法
コメント
文の終わりにはセミコロンを記述する
JavaScript では大文字と小文字を区別する
JavaScript では空白スペースなどを無視する
HTMLドキュメント内にscript 要素を複数記述できる
JavaScriptコードの外部ファイル化
HTMLタグのイベトハンドラでの記述
URL での記述
1.4 本書で利用するJavaScriptプログラミングツール
1.5 本書でのJavaScriptプログラミングの流れ
F12 開発者ツールの起動
新規ウィンドウでのF12開発者ツールの起動
JavaScriptのコマンドライン実行
複数行モード
この章の理解度チェック
第2章 基本的な文法
2.1 変数
変数の宣言
変数名の命名規則
予約語
2.2 データ型
リテラル
数値
文字列
論理値
Null
未定義値
オブジェクト
関数
プリミティブ型と参照型
2.3 式と演算子
算術演算子
文字列結合演算子
比較演算子
論理演算子
ビット演算子
代入演算子
条件演算子
その他の演算子
演算処理の優先順位と結合性
2.4 データ型の変換
この章の理解度チェック
第3章 制御文
3.1 if文
ネストしたif/else 文
論理演算子を利用したif/else 文
3.2 else if 文
3.3 for文
多重ループ
無限ループ
3.4 for/in文
3.5 while文
3.6 do/while文
3.7 switch文
3.8 break文
繰り返しをネストしている場合
3.9 continue文
3.10 try/catch/finally文
この章の理解度チェック
第4章 ビルトインオブジェクト
4.1 ビルトインオブジェクト
JavaScript で扱えるオブジェクト
ビルトインオブジェクトの種類
4.2 汎用的な機能を提供するオブジェクト(Global)
Global(グローバルオブジェクト)
4.3 論理値/数値を扱うオブジェクト(Boolean/Number)
Boolean
Number
4.4 日付/時刻を扱うオブジェクト(Date)
Date
4.5 配列を扱うオブジェクト(Array)
Array
4.6 文字列を扱うオブジェクト(String)
String
4.7 数値計算を扱うオブジェクト(Math)
Math
4.8 正規表現を扱うオブジェクト(RegExp)
RegExp
4.9 エラーを扱うためのオブジェクト(Error)
4.10 関数/オブジェクトを扱うオブジェクト(Function/Object/JSON)
Function
Object
JSON
この章の理解度チェック
第5章 関数
5.1 関数とは?
引数
戻り値
関数を定義するメリット
5.2 関数の定義
function 文による関数定義
関数リテラルによる関数定義
Functionオブジェクトによる関数定義
関数のネスト
5.3 関数の呼び出し
関数名を指定して呼び出す方法
関数定義と同時に呼び出す方法
関数を呼び出す関数
5.4 関数の引数
引数の定義
値渡しと参照渡し
可変長引数
再帰呼び出しとcallee プロパティ
引数を名前付きで指定する
5.5 クロージャ
この章の理解度チェック
第6章 オブジェクト指向プログラミング
6.1 オブジェクト指向の基礎知識
オブジェクト指向プログラミング
プロパティとメソッド
クラスとインスタンス
クラスプロパティとクラスメソッド
継承
JavaScriptのオブジェクト指向
6.2 プロパティ
プロパティの参照
プロパティへの代入とプロパティ定義
プロパティの削除
アクセサプロパティ(getter/setter)
プロパティ属性
拡張可属性
連想配列
with 文
6.3 クラス定義とコンストラクタ
コンストラクタの定義
thisキーワード
コンストラクタの引数
オブジェクトの生成
クラスプロパティ
オブジェクトのクラスを判定する
6.4 メソッドの定義
メソッドの呼び出し
プロパティとしてメソッドを定義する
プロトタイプ(prototype)
プロトタイプチェーン
クラスメソッド
6.5 クラスの継承
プロパティの継承
メソッドの継承
constructorプロパティの設定
hasOwnProperty()メソッドでプロパティをチェックする
クラスプロパティ/クラスメソッドの継承
6.6 スコープと名前空間
スコープとグローバルオブジェクト
関数スコープとグローバルスコープ
スコープが決定するタイミング
グローバルスコープの汚染と名前空間
この章の理解度チェック
第7章 Webブラウザのオブジェクト
7.1 クライアントサイドJavaScript
Webブラウザ内で動作するJavaScript
サーバサイドとクライアントサイド
Webブラウザ間の互換性
7.2 イベント駆動型プログラミング
HTMLタグのイベントハンドラ属性
JavaScriptによるイベントリスナの登録
イベントリスナを登録するタイミング
イベントリスナでのthis
イベント
7.3 Windowオブジェクト
ダイアログの表示
ウィンドウの操作
ウィンドウ間の参照
タイマー
Webストレージ
7.4 フレーム
インラインフレーム
フレーム内のオブジェクトへのアクセス
7.5 Navigatorオブジェクト
Webブラウザの情報を取得する
位置情報を取得する
7.6 Locationオブジェクト
URL 情報を取得する
指定したURLに移動する
7.7 Historyオブジェクト
7.8 Screenオブジェクト
7.9 フォーム
JavaScriptから入力フォームへのアクセス
Formオブジェクト
フォームの入力項目
入力値の取得と設定
フォームの初期値
入力項目の状態を変更する
7.10 クッキー
クッキー操作の基本
クッキーを使用したカウンタ
この章の理解度チェック
第8章 DOM
8.1 DOM
DOMとDOM API
W3C DOMとレガシーDOM
DOM Level 0
W3C DOM
Documentオブジェクト
8.2 CSS
CSSの基礎知識
JavaScriptからCSSを参照する
CSSルールの追加/削除
条件に応じてCSSを切り替える
要素のスタイルクラスの変更
要素のインラインスタイルの変更
動的なスタイル変更
8.3 W3C DOM のイベントモデル
イベントハンドラの問題点
W3C DOMのイベントモデル
イベントのフェーズ
Eventオブジェクト
KeyboardEventオブジェクト
MouseEventオブジェクト
ドラッグ&ドロップ
この章の理解度チェック
第9章 Ajax
9.1 Ajaxの基礎知識
Ajaxとは?
AjaxとJavaScriptライブラリ
XMLHttpRequestオブジェクト
HTTP
同期と非同期
9.2 XMLHttpRequest
サーバを準備する
XMLHttpRequestオブジェクトを生成する
リクエストの送信
レスポンスの受信
リクエストやレスポンスの内容を表示する
レスポンスデータのフォーマット
同一生成元ポリシー
XMLHttpRequestオブジェクトのプロパティとメソッド
9.3 WebSocket
WebSocketとは?
JavaScript でWebSocketを扱う
9.4 Ajaxの注意事項
Webブラウザの[戻る]ボタンとブックマーク
リクエストのタイムアウト
この章の理解度チェック
第10章 jQuery
10.1 jQueryとは?
jQueryを使う準備
jQueryの基本
10.2 jQuery で使用可能なセレクタ
使用可能なCSSセレクタ
jQueryオブジェクトの選択
10.3 jQueryによるDOM 操作
要素の操作
CSSスタイルの操作
フォームの操作
10.4 jQueryによるイベント処理
イベントハンドラ
jQueryのイベントオブジェクト
10.5 jQueryによるAjax
jQueryによるAjaxの基礎
Ajax でコンテンツを取得する
10.6 その他の便利なメソッド
配列の操作
オブジェクトのテスト
要素にデータを保存する
XMLやJSONのパース
ブラウザの判定
この章の理解度チェック
付録A F12開発者ツールの使い方
A.1 F12開発者ツールの機能
F12 開発者ツールの画面構成
A.2 「HTML」タブ
「HTML」タブの画面構成
HTMLの編集
HTMLの検索
A.3 「CSS」タブ
CSSの選択
CSSの編集
A.4 「コンソール」タブ
コンソールAPI
実行時間の計測
cd()コマンド
A.5 「スクリプト」タブ
「スクリプト」タブの画面構成
ブレークポイントの設定
JavaScriptコードのデバッグ実行
JavaScriptコードのステップ実行
変数やプロパティの値の変更
コード表示の整形
A.6 「プロファイラー」タブ
JavaScriptのプロファイリング
A.7 「ネットワーク」タブ
ネットワークキャプチャ
各リクエストの詳細確認
A.8 その他の機能
Webブラウザの特定機能の無効化
Webページ上のリンクの一覧表示
ウィンドウサイズの変更
ユーザエージェント文字列の変更
Webページ上の各種ファイルの検証
アウトライン表示
カラーピッカー
Internet Explorerの旧バージョンの表示や挙動の確認
付録B Node.jsの導入方法
B.1 Node.js のインストール
B.2 Node.js の起動
B.3 Webコンテンツの配置
B.4 パッケージの追加
B.5 Node.js のアンインストール
付録C 「練習問題」「この章の理解度チェック」解答
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 328 表8.8 「isPropagationStopped()」の説明 |
未 | 未 |
|
2017.06.14 | ||||||
1刷 | 396 セレクタによる絞り込み |
2刷 | 済 |
|
2013.11.06 | ||||||
1刷 | 402 >insertAfter()メソッドとinsertBefore()メソッドで要素を挿入 |
2刷 | 済 |
|
2013.11.06 | ||||||
1刷 | 406 表10.5 「メソッド名/構文」の一番下 |
2刷 | 済 |
|
2015.02.06 | ||||||
1刷 | 472 この章の理解度チェック 1. 1つめのコード |
2刷 | 済 |
|
2014.10.23 | ||||||
1刷 | 476 練習問題6.4 2の解答 10行目、18行目 |
2刷 | 済 |
|
2014.03.24 | ||||||
1刷 | 481 練習問題 8.6 2の解答 1行目 |
2刷 | 済 |
|
2014.03.24 |
Kentaro Hori さん
2014-05-14
何度か読み返す必要があったけど、ナカナカ良い本 ★★★★
としふみ さん
2014-03-25
内容が多すぎず、少なすぎず、良かった
はるお さん
2013-08-06
独習クオリティ。外も中も、デザインが少しオシャレになりました?