JavaScript開発時の5つの注意事項


「form」のみにsubmitイベントを使用します。
formでイベントハンドラをバインドする場合は、
要素上でsubmitイベントだけをバインドしてください。
March:この方式はいいですが、会社の開発にはWebを使いました。 Flowは、一つのページに大きなformがあり、中にはいくつかのサブボタンがあるかもしれないので、一部のイベント処理プログラムを提出ボタンのclickイベントに結びつけざるを得ない。
クリックできるのはリンクのはずです。
アンカー以外の要素にclickイベントをバインドしないでください。この点はキーボードユーザーにとって重要です。彼らはキーボードを通して元素の焦点だけを得る時に困難に出会うからです。
Mach:でも、個人的にはアンカーはリンクだけでなく、機能的な操作(例えばGoogle)を使うべきだと思います。 ReaderのMark all. as new)は、やはりで表示したほうがいいです。accessibilityの問題はショートカットなどで解決できます。このようにすれば、HTML要素の意味をより良く再現することができる。
簡単なforサイクル最適化
forサイクルを書く時、性能を上げる簡単なテクニックがあります。

for ( var i = 0; i < elements.length; ++i ) 
は、上記の代わりに次の文を使用する。 

for ( var i = 0, j = elements.length; i < j; ++i ) 
このようにして、要素の個数(elemens.lengthの値)を一つの変数jに格納することができ、このようにして、ループ毎に要素の個数を計算する必要がない。
匿名関数をイベントハンドラとして使う
特に、短い関数に対して、匿名関数を作成することは、ネーミング関数を使用する参照よりも読み取り可能である。

anchor.onclick = function() { map.goToPosition( home ); return false; } 
March:複雑なJavaScriptを開発する時にはネーミング関数を使うほうが効率がいいです。
Aray.joinを使って文字列の代わりに接続します。 ストリングス
多くの文字列、変数などを長い文字列に接続する時、すべての文字列と変数を一つの配列に入れて、join方法で彼らを長い文字列に構成します。これはコード可読性からも性能からも文字列接続より優れています。

var text = 'There are' + elements.length + 'members in the elements array.'; 
var text = ['There are', elements.length, 'members in the elements array.'].join(' ');