0

JavaScript に関する W3Schools チュートリアルを読んでいますが、スクリプトが例外をスローしない理由を理解するのに苦労しています。段落に相当する ID がないため、document.getElementById("paragraphs") の呼び出しで例外がスローされることを期待しています。例外がスローされない理由を教えてください。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Design Patterns</title>
</head>

<body>  

<button type="button" onclick="throwException()">Click Me!</button> 
<p id="paragraph">I am a paragraph</p>

<script>

function throwException(){

try{            
        var errorContainer = document.getElementById("paragraphs").value;               
}catch(err){            
        errorContainer.innerHTML="An error occured...";
        }
}

</script>


</body>
</html>
4

1 に答える 1

2

要素が見つからない場合は例外をスローせず、代わりに を返すvar error = document.getElementById("paragraphs");ため、コードは例外をスローしていません。このドキュメントの「メモ」セクションを確認してください。document.getElementById()null

また、上記のコメントに示されているように、W3Schools は優れたリソースではありません。純粋に初心者の活動が非常に基本的なことを学ぶのは良いことですが、それ以上に、それは悪いコーディング慣行の源であり、時には単純な誤報の源としてより広いコミュニティに知られています.

より優れたドキュメント リソース (チュートリアルはありませんが、少なくとも Javascript に関してはより優れたドキュメントがあります) はMozilla Developer Networkです。

于 2013-11-12T02:02:27.023 に答える