javascriptコード規範のまとめ
3234 ワード
1.JavascriptコードはDuban-JSLint検査標準1-1に適合していなければなりません。文は全部セミコロンがある必要があります。for、function、if、switch、try、while 1-2を除いて、長い語句だけが断行を考慮できます。例えば、TEMPL_SONGLIST.replace('{TABLE},da['results').replace('{PREV_}NUM',prev.replace('{NEXT')NUM',next).replace('{CURRENT_}NUM',current).replace('{TOTAL_}NUM',da.page_total);JSLintの検査機構との衝突を避けるために、「.」または「+」のような操作符を行末に置いて、上のコードをTEMPL_に変更します。SONGLIST.replace('{TABLE},da['results').replace('{PREV_}NUM',prev.replace('{NEXT')NUM',next).replace('{CURRENT_}NUM',current).replace('{TOTAL_}NUM',da.page_total);1-3.追加のコンマを避ける。例えば:var arr=[1,2,3];1-4.すべての循環体と判断体は「{}」でくくらなければなりません。間違っています:if(condition)statement;またはif(condition)statement;はい、if(condition){statement}またはif(condition){statement}1−5.for-i-n循環体では、ハスOwnProperty方法でメンバーが自身のメンバーであるかどうかを確認しなければならない。プロトタイプチェーンからの汚染を避ける。1-6.変数宣言。変数宣言はfunctionの一番上に置くべきです。宣言されていない変数の使用を避ける。間違っています。if(n>0){var isvalid=true;はい、var isvalidですif(n>0){isvalid=true;}1-7.with、void、evilは使用しないでください。1−8.厳格な条件判定符を使用する。を使って==を代替します。代わりに1-9.次のタイプのオブジェクトはnew構造を推奨しません。new Number、new String、new Boolean、new Object(代わりに{}new Aray(代わりに[]を使用します。1−10.参照対象メンバーは、Obj[prop 1]の代わりに、属性名が変数でない限り、Obj.prop 1を使用する。注:Duban-JSLintはカスタムされたJSLint注:モジュールコードに他のグローバル変数を使ってJSLintのチェックをスキップしたい場合、このファイルに声明を入れることができます。例えば:function Dialog(config){statement}var dmg=new Dialog({…);2-2.対象の属性または方法名は、「init」、「bindEvent」、「udatePosition」、「Dialog.prototype={init:function}、bindEvent:function(){}と、udatePosition:function(){}を採用します。2-3.プライベート変数名をアンダースコアで開始します。如「_」current","default Config「2-4.定数名はすべて大文字で、単語間は下線で区切られます。CSS_BTN_CLOSE,TXT_LOADING"2-5.変数名のプレフィックス:Prefix Element Example integer nVarable Name i,j,k,m,n,etc.*integer as counter/iterator(for i=0;i<=oAray.length;i+)string sVarable Name object oObject Name is,can,has book lean[Boolean name]ContditionName event method event atchment[event type]_MethodName accessor method get MethodName accessor method setsMethodName Note:Only a counter/iterator shound use a single-letter designation.3.コードフォーマット要求3-1.文の中の必要なスペースと3-1-1.文の中に含まれる「()前後とスペースが必要です。」例えば:if/for/while/switchなど3-1-2.「=」は前後にスペース3-3-3.配列メンバーとの間の「、」の後にスペースが必要です。for(t in selected){if(!hash[t]deselect(t)}はい:for(t in selected){if(!hash[t]{deselect(t)}3-2.長い文は断行を採用する:よくない:TEMPL_SONGLIST.replace('{TABLE},da['results').replace('{PREV_}NUM',prev.replace('{NEXT')NUM',next).replace('{CURRENT_}NUM',current).replace('{TOTAL_}NUM',da.page_total);はい、TEMPL_SONGLIST.replace('{TABLE},da['results').replace('{PREV_}NUM',prev.replace('{NEXT')NUM',next).replace('{CURRENT_}NUM',current).replace('{TOTAL_}NUM',da.page_total);3-3.フォーマット対象パラメータ:良くない:embedSWF(id,{url:'/swf/player 30792.swf?url='+el.href,width:261,height:30,params:{wmode:transparent},atributes:{id:“player-player-player”はい、
embedSWF(id, {
url: '/swf/player30792.swf?url=' + el.href,
width: 261,
height: 30,
params: { wmode:'transparent' },
attributes: {
id: "player-sample" + i,
name: "player-sample" + i
});