--- title: JavaScriptのコードのよくある問題を解決する slug: Learn/JavaScript/Howto tags: - Beginner - JavaScript - Learn translation_of: Learn/JavaScript/Howto ---
JavaScript のコードが正しく動作しないので修正したい、というような場合にみられる、よくある問題の解決方法へのリンクを以下に示します。
コードが正しく動かない場合や、何かが未定義であるとブラウザーがエラーを出した場合、変数名や関数名のスペルが正しいか確認してください。
ブラウザーの組み込み関数についての正誤例:
正 | 誤 |
---|---|
getElementsByTagName() |
getElementbyTagName() |
getElementsByName() |
getElementByName() |
getElementsByClassName() |
getElementByClassName() |
getElementById() |
getElementsById() |
セミコロンの位置に誤りがないか確認してください。
例:
正 | 誤 |
---|---|
elem.style.color = 'red'; |
elem.style.color = 'red;' |
関数についての誤りは何点かあります。
よくある誤りの一つとして、関数を定義したがどこからも呼び出していない、というものがあります。
例:
function myFunction() { alert('This is my function.'); };
上記のコードで定義した関数は、例えば以下のように呼び出さないかぎり何もしません。
myFunction();
関数は関数自身のスコープを持ちます。変数をグローバルに(関数の外で)定義するか、戻り値として変数の値を関数の外に返さないかぎり、関数の外から関数の中で定義された変数にアクセスすることはできません。
return文で関数から値を返したとき、JavaScript のインタプリタはその関数を終了します。return文の後ろのコードは実行されません。
Firefox などのいくつかのブラウザーは、return文の後ろにコードが存在する場合、開発者ツールのコンソールにエラーメッセージを出力します。Firefox が出力するメッセージは "unreachable code after return statement" です。
通常、JavaScript で代入する場合、等号を使います。
例:
var myNumber = 0;
オブジェクトの場合は、メンバー名とその値をコロンで区切り、メンバー間をカンマで区切る必要があります。
例:
var myObject = { name : 'Chris', age : 38 }
JavaScript のデバッグに関する詳細については、JavaScript のよくある問題を扱うを参照してください。よくあるエラーの説明についてはその他のよくあるエラーを参照してください。
this
とは何かaddEventListener()
関数は何をするものか、どのように使うのか