主に言語とシステム開発に関して RSSフィード



2008-09-12

JavaScriptの動かないコード  (JavaScriptエラー集)

| 18:22 |  JavaScriptの動かないコード  (JavaScriptエラー集)のブックマークコメント


「このJavaScriptコードが動かないのは,なぜですか?」というミニクイズ集。

すべて制限時間は1分。

別名,JavaScriptのエラー事典。またはアンチパターンのまとめ。



連載目次

中級編

JavaScriptの仕様関連

  1. p要素への appendChild() で失敗する
  2. かけ算を間違える  
  3. イベントハンドラが見る値のエラー
  4. クロージャを使わない場合に起きるエラー  
  5. オブジェクトのprototypeを変更した時のエラー  
  6. 正規表現で同じ文字の連続を検出したい - 置換前パターン中での後方参照
  7. jsonオブジェクトをevalできないエラー
  8. 不要なイベントが連鎖で発生してしまう  (バブリングの対処)
  9. オブジェクトのプロパティ定義にthisを使って失敗するエラー
  10. setTimeoutのタイマーが指定時刻に動かないエラー
  11. オブジェクトのメソッドを変数代入でコピーできない
  12. innerHTMLを追記するとイベントハンドラが消える
  13. nullが0以上0以下と認識されてしまう
  14. 文字数のカウントに失敗する

ブラウザの仕様やクロスブラウザ関連

  1. "インターネットサイト を開けません。操作は中断されました。"  
  2. Ajax読み込み時に「80020101」のエラー  
  3. テーブルに行追加できない  
  4. selectの中味を書き換えるときのエラー
  5. evalでfunctionを作る時のエラー
  6. scriptタグの中味を動的に書き換えた時のエラー
  7. splitで文字列を分割する時のエラー
  8. cloneNodeで選択状態が変わるエラー
  9. innerHTMLに閉じタグを書き込む時のエラー
  10. Ajax読み込み時に「システムエラー -1072896658」
  11. 動的追加したイベントの実行順序 ( addEventListener vs attachEvent )
  12. イベントハンドラに同じ関数を2回以上追加したい
  13. DOMで子要素を指定する際のエラー
  14. onKeydownイベントが認識されない
  15. イベントの詳細情報を第一引数で取得できない
  16. iframe内にDOMアクセスできないエラー
  17. iframe内のDOM要素を別フレームにコピーできないエラー
  18. IEでスコープチェインにdocumentが補完されるように見える不思議
  19. clickイベントを強制的に発生させたい (fireEvent/createEventの使い方)
  20. イベント強制発生までの遅延時間をなくしたい
  21. ラジオボタンとプルダウンのonchangeイベントがおかしい
  22. 重いページで,onloadのイベントリスナが実行されない

初級編

文法関連

  1. カウンターのエラー
  2. DOMアクセスできない
  3. if文の分岐がおかしい
  4. 関数に配列を渡すときのエラー  
  5. 配列とオブジェクトの宣言エラー
  6. with文にまつわるエラー  
  7. 関数が返り値を return できないエラー (セミコロンの罠)

関数関連

  1. 数値判定の方法・・・入力値が有効な整数かどうかチェック  
  2. イベントハンドラを動的に追加できない / DOM要素の取得ができない  
  3. parseIntで返り値が0になるエラー
  4. switch文で,数値以外の変数を評価した時のエラー


番外編

prototype.js

  1. Prototype.js + Script.aculo.us のはまり所





(一部にバッドノウハウを含むかもしれないが,)大部分は,自分自身がWebアプリケーションの開発に携わっている際に実際に遭遇し,悩まされたエラーである。