2011-07-05 2 views
1

どの手法が優れていますか?良くある手法

<span onclick="dothis();">check</span> 

か:

<span class="bla">check</span> 
<script type="text/javascript"> 
    $('.bla').click(function(e) {}); 
</script> 

は違い、使い勝手に応じて、パフォーマンスなどありますか?

ありがとうございました!

答えて

8

unobtrusiveと考えられるため、2番目のコード品質はコード品質の点で優れています。どちらの方法でもパフォーマンス上のメリットがあるかどうかはわかりません。

私のアドバイスは、目立たないアプローチに固執することです。あなたが道のりでのメンテナンスをしているとき、多くの時間を節約します。

1

あなたのスクリプトをDOMの外に保つことを常にお勧めします。

-2

私の意見では、最初のアプローチはデバッグが簡単ですが、スパンをクリックするとdothis()が呼び出されることは非常にはっきりしています。特にイベント処理コードをjavascriptファイルに置いたときは、2番目のイベントは難しくなります。パフォーマンスのために、私はそれが小さいと思いますが、最初のものは絶対により良いパフォーマンスを持っています。

0

ほとんどのスクリプトでは、別のファイルに配置することをお勧めします。あなたの例のような小さなスクリプトであれば、実際にはドキュメントヘッドの<script>タグに入れる方が速くなります。

常にonClick=""と友だちの手を離してください。それは乱雑で、時には反復的なコードになり、維持/デバッグするのが難しいかもしれません。

もう1つ注意してください:あなたのスクリプトが巨大(行数100)の場合、ブラウザが外部ファイルを取得するために余分な時間がかかるのは、スクリプトがHTMLにないためです。同じまたはより速い。小さなスクリプトの場合、最大で50行は、<head>では問題ありません。

1

テクニック1は、侵入型または妨害型のJavaScriptです。マークアップはJavaScriptコールと混在しています。これは実際には厄介であり、懸念の分離ではありません。

テクニック2はunobstrusiveです。JavaScriptはマークアップとは別に保存されていますが、どちらもクリーンですが、多くの定型文が追加されています。

テクニック2は大規模なプロジェクトではうまく動作しますが、常に2つの場所を探す必要があり、マークアップを変更してバグを挿入することはできますが、JavaScriptは導入できません。

関連する問題