1. JSファイル管理コードを使用します
すべてのコードは、できるだけJSファイルに配置し、スクリプトを使用してHTMLファイルにインポートする必要があります。それを紹介するときは、ボディータグに注意を払ってください。タイプや言語を使用しないでください。
2。インデントの書き込み
4つの空白を使用してインデントを使用してください。タブキーを使用してインデントに使用しないように注意してください。
3。文の破壊
ラインの長さに注意してください。各行は80文字を超えません。それを超える場合は、適切な文章を破ります。文章の破損は、オペレーターの後に実行する必要があります。理想は、コンマ(、)の後に文を破ることです。文が破られた後、次の行は8つのグリッドを使用してインデントされます。
4。ノート
通常、シングルラインのコメントが使用され、ブロックコメントは一般にドキュメントで使用されます。
5。変数宣言
すべての変数は使用前に宣言され、非宣言されていない変数はグローバル変数として自動的に使用されます。グローバル変数は、テキスト全体で使用する必要があります。
すべての変数宣言を1つのVARに実装するのが最善であり、各宣言は別の行を入れてコメントの指示を追加します。次のように、すべての宣言された変数を文字順にリストできる場合:
コードコピーは次のとおりです。
var currententry、//現在選択されているテーブルアイテム
レベル; //インデントレベル
関数本文の上部にあるすべての変数を定義すると、VARは関数本文の最初の行に表示されます。
6。関数宣言
All functions should be declared before use and after variables --------------------------------------------------------------------------------------------------------------------
関数名と括弧内にスペースがないはずです。クロージングブラケットの間にスペースがないはずです(関数パラメーターの間にスペースはないはずです。左側のブラケット)と関数ボディブラケット{;関数本文は4つのスペースにインデントされています。関数本文の終わりブラケット}は、function宣言キーワード関数の最初の文字と整合しています。次のコード:
コードコピーは次のとおりです。
関数の外側(c、d){
var e = c * d;
関数内(a、b){
return(e * a) + b;
}
内側を返す(0,1);
}
関数とオブジェクトは、式を配置できる場所に配置できます。
匿名関数キーワード関数とオープニングブラケット(その間にスペースがあります。
グローバル機能をできるだけ使用しないようにしてください。
関数を即座に実行するには、呼び出し式全体をブラケット()のペアに配置して、変数の値が関数自体ではなく関数実行の結果であることを明確にする必要があります。次のコード:
コードコピーは次のとおりです。
var result =(function(){
var key = "";
戻る {
get:function(){
キーを返します。
}、
セット:function(key){
key = key;
}
};
}());
7。ネーミング
文字、数字、アンダースコアで名前を付け、国際的なキャラクター、ドル記号、$、およびバックスラッシュの使用を避けてください。
名前の最初のキャラクターとしてアンダースコアを使用しないでください。
ほとんどの変数と関数は、小文字から始まる名前が付けられています。
コンストラクターは大文字から始めなければなりません。 JSで新規を省略した場合、エラー(コンパイルまたは実行エラー)を報告することはありませんが、省略しないことが最善です。
グローバル変数は、すべての首都で名前が付けられています(JSにはマクロと定数の概念はありません)。
8。文
簡単な声明
最大で行ごとに1つのステートメントで、セミコロンを使用します。最後に、関数リテラルとオブジェクトリテラルで割り当てられたステートメントもセミコロンを使用する必要があることに注意してください。
JSはステートメントとして変数を許可しますが、セミコロンを挿入するときにいくつかのエラーを引き起こす可能性があります。したがって、式を使用する一般的なステートメントは割り当てまたは関数呼び出しステートメントです(この元の英語の文は大まかに理解していますが、それをより良く翻訳する方法はわかりません)
複合ステートメント({}のペアの間に含まれるステートメント)
内部ステートメントは4つのスペースによってインデントされます。
オープニングブラケット{は、開始ステートメントラインの最後にある必要があります。
クロージングブラケットは、最後に別のラインである必要があり、オープニングブラケットが配置されているラインの最初の文字と一致する必要があります。
ステートメントがコントロールステートメント(for、ifなど)にある場合、ステートメントは、ステートメントを追加する際にバグがないことを保証する1つのステートメントがある場合でも、curlyブレース{}に囲まれている必要があります。
9。ラベル(この部分の理解はあまり正しくありません)
ラベルを使用するステートメントは選択的であり、次のものしかありません。
10。returnステートメント
返された値は括弧内に囲まれ、戻り式はリターンキーワードと同じ行にある必要があります(セミコロンのNewline挿入は避けてください)。
11。IFステートメント
次の形式に従ってください。
コードコピーは次のとおりです。
if(条件){
ステートメント
}
if(条件){
ステートメント
} それ以外 {
ステートメント
}
if(条件){
ステートメント
} else if(条件){
ステートメント
} それ以外 {
ステートメント
}
12。声明のため
次の形式に従ってください。
コードコピーは次のとおりです。
for(initiliazation; condition; update){
ステートメント
}
for(オブジェクトの変数){
if(filter){
ステートメント
}
}
最初のループ形式は、反復回数を決定できる配列と変数に使用されます。
2番目はオブジェクトトラバーサルに使用されます
注:オブジェクトプロトタイプに追加されたプロパティは列挙可能であるため、フィルタリングにHasownPropertyメソッドを使用する必要があることが記載されていますが、for in codeでテストした場合、表示されませんでした。問題がどこにあるのかわかりません。
13。声明の間
次の形式に従ってください。
コードコピーは次のとおりです。
while(条件){
ステートメント
}
14。声明の声明
次の形式に従ってください。
コードコピーは次のとおりです。
する {
ステートメント
} while(条件);
ステートメントの最後にセミコロンを追加します。
15。Switchステートメント
次の形式に従ってください。
コードコピーは次のとおりです。
switch(expression){
症例表現:
ステートメント
デフォルト:
ステートメント
}
各ケースは、過度のインデントを避けるためにスイッチと整列する必要があります。ケースタグのみがステートメントではなく、インデントされるべきではありません。
各ケースステートメント(デフォルトを除く)は、ブレークまたはリターンまたはスローで終了する必要があります。
16。ステートメントを試してください
次の形式に従ってください。
コードコピーは次のとおりです。
試す {
ステートメント
} catch(variable){
ステートメント
}
試す {
ステートメント
} catch(variable){
ステートメント
} ついに {
ステートメント
}
17。続行ステートメント
続行ステートメントの使用は避けてください。
18。声明付き
ステートメントを使用してはいけません。
19。スペースを使用します
空の行を設定して論理的に関連するコードセグメントを分割して、コードの読みやすさを強化します。
スペースを設定するとき:
キーワードの後に左ブラケットが続きます(たとえば、スペースを使用するには:
while(true){
関数パラメーターとオープニングブラケットの間のスペースを使用することはできません(。
dot(。)、左bracket(()、および四角いブラケット([)を除くバイナリ演算子は、スペースを使用してオペランドから分離する必要があります。
Typeofとそのオペランドを除いて、単位オペレーターの間にスペースがないはずです。
forステートメントは、block()の各セミコロンを制御します。その後、スペースが続きます。
各コンマにはスペースが必要です。
20。追加の提案
[]そして{}
メンバー名が連続整数である場合に配列を使用し、メンバー名が任意の文字列と名前の場合はオブジェクトを使用します。
new Array()の代わりにnew object()と[]の代わりに{}を使用します。
コンマ、オペレーター
コンマ、オペレーターの使用は避けてください(この規定は、オブジェクトリテラル、配列のリテラル定義、var宣言ステートメント、およびパラメーターリストには適用されません)
ブロックレベルの範囲
ステートメントブロックを使用しない適合ステートメントを除き、JSにはブロックレベルのスコープはなく、関数スコープのみがあります。
割り当て式
条件付き判断の一部と、声明が割り当て声明の使用を避けている場合。
===および!==
一致シンボル(===および!==)を使用して平等を決定し、強制型等式変換シンボル(==および!=)の使用を避けます。
シンボル(+または - )を備えた数値(または - )が追加された場合(++または - )数値が追加された場合、シンボルまたは(++または - )を持つ数字を囲む必要があります。
評価は悪魔です(評価l)
評価には同じ状況があります。関数コンストラクターを使用しないでください。文字列をSetimeoutまたはSetInterval関数に渡さないでください。
上記の20の提案は、プロジェクトで私によって要約されています。彼らはJavaScriptを学ぶ際の初心者にはほとんど役に立たないはずです。それらはすべて個人的な経験です。必然的に不完全な側面があります。見つけたら教えてください。ここで私たちは皆の進歩につながります。