正誤表
下記の誤りや改良点等が見つかりました。ご連絡いただいた方、ありがとうございます。お気づきの点は、ご連絡ページからお知らせいただければ幸いです。
● 日付(2024.9.14など)はこのページに記載した日です
● 日付が朱字になっているものは最近の追加です
入力ミスなど
-
p. 219(問題11-3)。2024.3.3掲載。第2刷で修正予定
document.getElementByID↓
document.getElementById
追加情報
-
p. 25 WARNING「VS Codeからブラウザが起動できないときは」の下(「1.12 練習問題の解答例」の上)に次のInformationを追加。2024.6.7掲載。第2刷で追加予定
I Information
>> .vscode/launch.jsonの作成なお、jsdataフォルダの下の.vscodeというフォルダの中にlaunch.jsonというファイルを作成して起動方法を指定することで、実行時(およびデバッグ時)に起動するアプリをあらかじめ指定することができます。こうすることで、ブラウザでHTMLファイルを開く(JSプログラムを実行する)際に「Web アプリ(Chrome)」を選択する必要がなくなります。 次の手順で設定できます。
- エクスプローラでch0101.htmlを選択
- [実行]メニューから[構成の追加...]を選択
-
選択肢から「Web アプリ(Chrome)」を選択
-
.vscodeというフォルダの下にlaunch.jsonというファイルができ、その内容が表示されるので下のように書き換える(/Users/xxx/Desktopの部分は環境によって変わります)
"name": "Open ch0101.html", "file": "/Users/xxx/Desktop/jsdata/example/ch0101.html" ←「/Users/xxx」の部分は人によって(環境によって)異なります
⬇"name": "Chromeで起動", "file": "${file}"
読みやすくするためなど
- p. 241 prob1201.htmlのコードの22行目。2024.9.4掲載。第2刷で修正予定
<script type="text/javascript">↓
<script>赤字部分は書いても問題は起こりませんが通常は書きません。以前は、書くことが推奨されていたと思いますが、現在の規格では指定しなくてもJavaScriptのプログラムとして解釈されることになっています。ダウンロード用データ(jsdata)の練習問題の解答例(exerciseの下)にあるprob1109.html、prob1201.html、prob1208b.html、rocket-ans.htmlについても同様です(ダウンロード用のデータは修正済みです)。
-
p. 257 最後の行(ch1301.htmlの説明の最後。「フロー制御とアルゴリズム」の直前)。2024.6.1掲載。第2刷で修正予定
(表にはあまり現れませんが)↓
(表にはあまり現れませんが) -
p. 256 図13.1を下の図に差し替え(「&&」を追加し、「==」を「===」に、「!=」を「!==」に変更。後者の変更の理由はp. 289 「A.1 演算子関連」の「===と==の違い」参照)
-
【索引】に次の3項目を追加。
p. 315【記号】の下
! .......... 159, 190 && .......... 159, 192, 283 || .......... 159, 304, 310
ダウンロードデータの誤りや改良
既に差し替え済みですので、以前にダウンロードした方のみお読みください(最終更新2024年9月8日)
-
exercise/prob1211.htmlのコードを変更しました(ダウンロードデータ差し替え済み)。2024.9.8公開
<script>...</script>が2つの部分に分かれていましたが、ヘッダ部のものを下に移動し、ひとつにまとめました。変更前でも動作はしますが、一緒にしたほうが良い(わかりやすい)かと思います(2つに分けて書く必要はありません)。次のコードはidにform1が指定されているformタグよりも下にないと動作しないので、ひとつにするなら下のほうにまとめることになります。document.getElementById("form1").addEventListener("submit", 英和_和英辞典を引く);
-
exercise/prob1203.htmlのコードを変更しました(ダウンロードデータ差し替え済み。以前のコードはprob1204.htmlと同じになってしまっていました)。2024.8.19公開
スタート位置に限らず、どこの位置で止めてもよいので、変数「最終回フラグ」を使う必要はありません。単にclearIntervalでタイマーを止めるだけで大丈夫です。setTimeout(()=> 最終回フラグ = true, 継続時間*1000);
↓setTimeout(()=> clearInterval(タイマーID), 継続時間*1000);
このほかに変数最終回フラグの宣言や、最終回フラグがtrueかどうかのif文のチェックが不要になります。 詳しくは、新しいprob1203.htmlとprob1204.htmlのコードを比較してみてください。 以前にダウンロードなさった方はこちらからもう一度全体をダウンロードしていただくか、jsdata/exercise/prob1203.htmlをこちらのファイルに差し替えてください(ページ表示後、右クリック→[別名で保存]→[Webページ、HTML のみ]を選択、ファイル名をprob1203.htmlにして、exerciseフォルダに上書き保存してください) -
exercise/prob0412.htmlのコードを次のように変更しました(ダウンロードデータ差し替え済み。以前のコードでも動作しますが引用符がペアになっていたほうがよいので修正します)。2024.6.29公開
const スタイル = `style="width: 25%;` // 20%にすると1行に5個 ... `<a href="${ファイル名}"><img src="${ファイル名}" ${スタイル}"></a>`;
↓const スタイル = `style="width: 25%;"` // 20%にすると1行に5個 ←セミコロンのあとに「"」を追加 ... `<a href="${ファイル名}"><img src="${ファイル名}" ${スタイル}></a>`; ←「${スタイル}」のあとの引用符を削除
-
p. 118 問題5-8(ダウンロードデータは差し替え済み)2024.4.17公開
jsdata/exercise/prob0508.htmlのコードが違っておりました(更新の際に勘違いして変更してしまったようです)。
以前にダウンロードなさった方はこちらからもう一度全体をダウンロードしていただくか、jsdata/exercise/prob0508.htmlをこちらのファイルに差し替えてください(ページ表示後、右クリック→[別名で保存]→[Webページ、HTML のみ]を選択、ファイル名をprob0508.htmlにして、exerciseフォルダに上書き保存してください)