改訂第2版 JavaScript Pocket Reference

- 第一刷 修正一覧 -

Last Update:2003/7/4 AM 2:20

■115頁のコラム
以下の文章に変更してください。

プログラムのミスの事をバグと呼び、このバグをなくすことをデバッグと呼びます。プログラムが一度で動作することは少なく、意外にも多くの時間がデバッグに費やされます。
 JavaScriptも例外ではありません。問題はデバッグするための補助手段が少ないことです。標準的な命令を使うとすると以下のような方法があります。
まずalertを使って変数などの値を表示させることです。

■117頁の右下地図
本当はメルカトル図法の世界地図のはずだったんですが、オーストラリアの地図になってしまっています。
■119頁のコラム
*4の後に以下の1行を追加。
Windows98 Year2000 Service Pack を導入すると常に 4 桁
■139頁の図の記号の抜け
●:メソッド
○:プロパティ
  ↓
●:メソッド
○:プロパティ
□:イベント
■159頁の図のタイトル
Infoseek Japanとなってますが、my Home Pageです。実害はありません。
■163頁の図の右下
pageXOffset○,
  ↓
pageXOffset○
■177頁のブラウザ対応
Internet Explorer が未対応となっていますが4.0以降対応しています。-4.0に変更してください。
■185頁の図
forms[φ]
  ↓
forms[0]
■223頁図の記号
○:プロパティ
  ↓
削除してください
■239頁図の記号
●:メソッド
  ↓
削除してください
■251頁の文法/書式
●:メソッド
  ↓
削除してください
■289頁のコラム
document.layers["layName'].プロパティまたはメソッド
  ↓
document.layers["layName"].プロパティまたはメソッド
■362頁の説明
左右、上反転を行います。
  ↓
左右、上反転を行います。
■362頁の文例
オブジェクト名myImgの水平反転効果を取り消す。
  ↓
オブジェクト名myImgの左右反転効果を取り消す。
■362頁の文例
オブジェクト名myImgの水平反転効果を行う。
  ↓
オブジェクト名myImgの上下反転効果を行う。
■379頁の付録2キーコード対応表
spaceキーのWin+IE4のkeydownが31になっていますが32の間違いです。
■351頁のコラム
MIME Tyeps:application/x-javascript
  ↓
MIME Types:application/x-javascript



- 第二刷 修正一覧 -


■CD-ROM収録のリファレンス

watch,unwatchの書式およびサンプルが間違っています。オンライン版で修正しましたので、オンライン版を参照してください。


■92頁のTIPS

表を以下のものに変更してください。OSにより値が異なっていました。
ブラウザ名 Windows95/98/NT4 Macintosh UNIX
Netscape 2 2 2 2
Netscape 3 3 3 3
Netscape 4 4 4 4
Explorer 3 2 3 -
Explorer 4 4 4 -
Explorer 5 4 - -


■94頁

languageプロパティがIE4.0以上で動作する、とありますがIE4.0以上ではundefinedを返します。IE4.0以上ではnavigator.languageではなくてnavigator.browserLanguageです。


■149頁の図

説明と図があっていません。右側の図が「マウスが文字と重なりました」とありますが、「文字から離れました」が正解です。正しい図は以下のものになります。


■152頁の文例【追加訂正分】

window.onmove = winResize
    ↓
window.onresize = winResize


■153頁

onSubmitの文例が間違っています。
<FORM onReset="ok()">
           ↓
<FORM onSubmit="ok()">


■197頁

selectedがReadのみとなっていますが、Netscape 3/Explorer 4以降では書き込みも可能です。


■340頁の柱(ページの一番左上)

●Macromedia Flashの文字が抜けています。


■300頁のwatchの書式

objName.watch("propName".funcName)
           ↓
objName.watch("propName",funcName)


■351頁のコラム

Mac+IE4.xでは日本語を含む外部JavaScriptに不具合があると記述されていますが、&amp;#80A0;などのように指定することで回避できます。document.writeなどで出力する文字列/変数に代入する文字列を上記のようにするかunescapeを使って復元できるようにしておけば利用できます。
1999/8/27現在におけるMacIE4.xの外部JavaScriptの日本語の文字化け対処方法は以下のものがあります。
(1).jsファイルをUnicodeで保存する
   ただしNetscape,Explorer 4以前ではトラブル発生の可能性があり表示されない事もあります。
 
(2)CGIを使って.jsファイルをHTML本文と連結し1ファイルとする
   これは最も確実です。
 
(3)エンコードする
   日本語部分が問題なので「あ」という文字をescape命令などで「%82A0」のようにエンコードしておき、.jsファイルのデータを読み込む時にunescape命令で復元してもうまくいきます。
   コメント内の文字も、もちろん全ての日本語(2バイトコード)を変更しておく必要があります。
 
(4)ブラウザを判別し、MacIE4.xのみ別処理にする
   ブラウザを判別しMacIE4の場合と、そうでない場合に分けます。
   MacIE4のみ.jsファイルをUnicodeにしておきます。


■379頁

付録2 キーコード対応表で379ページ中央付近にある&の下の欄の文字が消えてしまっています。'(クオート)を追加してください。




- 第三刷 修正一覧 -


■88ページの解説

(Internet Exploer Service Pack 1、Internet Explorer 5)があります。

(Internet Exploer 4.01 Service Pack 1、Internet Explorer 5)があります。


■324ページの用途

(正し日本語は駄目)

(ただし日本語は駄目)


■376ページの下から4行目

チェンネルモード

ンネルモード


■326〜341ページのライブコネクト

Netscape + Flash Plugin 3.0以上では<EMBED>タグにはSWLIVECONNECT="true"を指定しないとエラーになります。


■付録CD-ROM内リファレンス

getYearの説明を以下のように修正してください。オンライン版では修正されています。

2000年より前の年の場合は西暦年数の下2桁を返します。つまり現在の西暦年から1900を引いた値を返します。1999年であれば1999-1900で99が、2000年であれば2000-1900で100を返します。
 ただし、2000年を超えた場合getYearは機種とブラウザにより4桁の西暦年数を返すものと3桁(1900を引いた値を返すもの)の年数を返すものがあります。現在判明しているものは以下のとおりです。

OS+Browser1999年2000年
Mac+NN2.0299100
Mac+NN3.01992000
Mac+NN4.01992000
Mac+NN4.0599100または2000(不安定)
Mac+NN4.0899100
Mac+NN4.5 99100または2000(不安定)
Mac+IE3.0199100
Mac+IE4.01992000
Mac+IE4.5 992000
Win3.1+NN2.0299100
Win95+NN3.01992000
Win95+NN4.02992000
Win95+NN4.03992000
Win95+NN4.0699100
Win95+NN4.599100
Win95+IE3.0199100
Win95+IE4.01992000
Win95+IE5.0 992000

 Internet Explorer 4.0/Netscape Navigator,Communicator 4.0以降が利用できる環境で有ればgetFullYear()を利用してください。もし、利用できない場合は1900+(★.getYear() % 1900) として代用してください。★はDateオブジェクト名です。




- 第四刷〜七刷 修正一覧 -


■287ページ上のresizeToの横の文章

判定サイズに変更

絶対サイズに変更
■373ページ上のTransitionの横の文章
フィルタ効果スイッチ

ワイプ効果番号
■376ページ4から4行目
チェンネルモード

ンネルモード
■付録CD-ROM内リファレンス
タグで<NOLAYERS>〜</NOLAYERS>となっていますが<NOLAYER>〜</NOLAYER>が正解です。最新版のオンライン上のリファレンスでは修正されています。




- 第九刷 修正一覧 -


■37ページのサンプル

ブラウザのバージョンアップや言語解析エンジンによって正しく動作しない場合があります。以下の部分にeval()を追加することで正しく動作します。

data = prompt("数字を入れて","1");

data = eval(prompt("数字を入れて","1"));
■42ページの文例の2行目
オブジェクト名myObjをtrueまたはfalseの値を扱うようにする。

オブジェクト名boolObjをtrueまたはfalseの値を扱うようにする。
■72ページ説明文1行目
#が余計です。削除してください。

<A NAME="#〜">で指定したアンカーの

<A NAME="〜">で指定したアンカーの


- 第十刷 修正一覧 -


■79ページのサンプルなど

ブラウザ/バージョンによってはnullかどうかの判定がうまく行われず""(空文字)との比較でないと動作しない場合があります。

■387ページ 付録6カラー名/カラーコード対応表

honeydewtab 00 DE 2B
      ↓
honeydewtab 00 DE 2B(削除)


- 第十二刷 修正一覧 -


■28ページの小見出し

二項演算子
 ↓
三項演算子

■28ページの三項演算子の説明
(真)であれば値はvarl1となり
 ↓
(真)であれば値はvar1となり

■35ページのコラムの最下段
while(1);
 ↓
while(1);

■40ページの文例の一番上のスクリプト
uum = 1
 ↓
num = 1

■42ページの文例の一番上のスクリプトの説明文中
オブジェクト名myObjを
 ↓
オブジェクト名boolObjを

■50ページの文例の二番上のスクリプト
myArray.sort();
 ↓
myArray.sort()

■51ページの文例の二番上のスクリプト
X1.unshift("X68K");
 ↓
X1.unshift("X68K")

■134ページの文例の三番上のスクリプトの説明文中
世界協定時を56秒に設定する
 ↓
世界協定時を56秒に設定する

■167ページの説明文の二行目
します。handleeventsは指定したオブジェクト
 ↓
します。handleEventsは指定したオブジェクト

■203ページの文例の二番目のスクリプト
new option("MZ,2)
 ↓
new option("MZ",2)

■219ページの文例の一番目のスクリプトの説明文
にする(?は区切り)
 ↓
にする(?は区切り)

■221ページのコラムの使えるタグの部分
<FONT COLOR> SIZE>
 ↓
<FONT COLOR SIZE>

■227ページの説明文
文字列を数値に変換します。perseFloatは小数に、
 ↓
文字列を数値に変換します。parseFloatは小数に、

■254ページの文例の二番上のスクリプト
wd = document.images[0].height;
 ↓
wd = document.images[0].height

■257ページの文例の一番上のスクリプト
myImg = new Image();myImg.src = "mz800.gif";
 ↓
myImg = new Image();myImg.src = "mz800.gif"

■272ページの文例の一番上のスクリプトの説明文
可視状態を変数nmに代入する
 ↓
可視状態を変数visに代入する

■305ページの用途の説明文の2行目
ます(設定するときに使います)
 ↓
ます(設定するときに使います)

■324ページの用途の説明文
(正し日本語は駄目)
 ↓
(ただし日本語は駄目)

■394ページの最下段の説明文が変
回避方法としては画面の更新が終了するまで(たとえば2〜3秒以上経過してから)背景色を変更してください。
 ↓
回避方法としては画面の更新が終了してから(たとえば2〜3秒以上経過してから)背景色を変更してください。


- 第十四刷 修正一覧 -
これが最終の刷数です。(2003年6月以降は改訂3版JavaScriptポケットリファレンスになります)


■224ページの説明文

255.toString(16)とすると16進数のffを返します。
 ↓
eval(255).toString(16)とすると16進数のffを返します。

■224ページの文例の最後
myVal = 255.toString(16)
 ↓
myVal = eval(255).toString(16)

■41ページのコラム
変数Cがローカル変数になる、とありますが、これはInternet Explorer 3.0の場合です。