Douglas Crockford によるJavaScript の The Good Parts で述べられているように、文字列を に渡しsetTimeout
たり、setInterval
呼び出しeval()
たりすることは避ける必要があります。
setTimeout('console.log("this uses eval()");', 100);
それを念頭に置いて、次のようにインライン イベント ハンドラーを使用すると、同じことが起こりますか?:
<button onclick="console.log('click!');">Click Me</button>
つまり、インライン イベント ハンドラーを使用すると、イベントが発生したときに追加の解析オーバーヘッドが発生するか、それとも最初のドキュメントの読み込み中に他のすべて (インライン スクリプト ブロック、ヘッダー内のスクリプトなど) を使用して解析が行われますか?