JavaScript プログラミング標準を学ぶための 20 のヒント_JavaScript のヒント

WBOY
リリース: 2016-05-16 16:29:53
オリジナル
1409 人が閲覧しました

1. js ファイル管理コードを使用します

コードをすべて js ファイルに記述してから、スクリプトを使用して HTML ファイルに導入するようにしてください。 導入するときは、必ず body タグの後に配置し、型や言語を使用しないでください。

2. インデントの書き方

インデントには 4 つの空白スペースを使用します。インデントに Tab キーを使用しないように注意してください。

3. 文の分割

各行は 80 文字を超えないように注意してください。80 文字を超える場合は、演算子の後に文を分割するのが理想的です。文を区切った後は、次の行を 8 つのスペースで区切ります。

4. 注意事項

ドキュメント内では通常、単一行のコメントが使用され、ブロック コメントが使用されます。

5. 変数宣言

使用前にすべての変数を宣言します。宣言されていない変数は自動的にグローバル変数になります。グローバル変数は、テキスト全体で控えめに使用する必要があります。
var を使用してすべての変数を宣言し、各宣言を別の行に配置してコメントを追加することをお勧めします。可能であれば、宣言されたすべての変数を次のように文字順にリストします。

コードをコピー コードは次のとおりです:
var currentEntry, //現在の選択テーブル項目
レベル; //インデントレベル

すべての変数を関数本体の先頭で定義すると、var が関数本体の最初の行に表示されます。

6. 関数宣言

すべての関数は、スコープを確認しやすくするために、使用する前と変数の後に宣言する必要があります。

関数名と括弧の間にはスペースを入れてはいけません。右括弧 (および関数パラメータと左括弧) と関数本体の括弧の間にはスペースを入れてはいけません。{関数本体はインデントされています。 4 つのスペース; 関数本体の閉じ括弧} および関数宣言キーワード関数の最初の文字が整列されます。次のコード:

コードをコピー コードは次のとおりです:
関数アウター(c,d) {
var e = c * d;
関数 inner(a,b) {

return (e * a) b;
}

return inner(0,1);

}

関数とオブジェクトは、式が許可される場所であればどこにでも配置できます。
無名関数キーワード function と左括弧 (.
) の間にはスペースがあります。 グローバル関数の使用はできるだけ少なくしてください。
関数を即時に実行するには、変数の値が関数自体ではなく関数の実行の結果であることを明確にするために、呼び出し式全体を括弧 () のペアで囲む必要があります。次のコード:

コードをコピー コードは次のとおりです:
var result = (function () {
var key = "";
戻り値 {
get: function () {
return キー;
}、
set: 関数 (キー) {
key = key;
}
};
}());

7. ネーミング

名前には文字、数字、アンダースコアを使用し、国際文字、ドル記号 $、バックスラッシュは使用しないでください。
名前の最初の文字としてアンダースコアを使用しないでください。
ほとんどの変数と関数の名前は小文字で始まります。
コンストラクターは大文字で始める必要があります。js で new を省略してもエラー (コンパイルまたは実行エラー) は発生しませんが、省略しないことをお勧めします。
グローバル変数の名前はすべて大文字にする必要があります (js にはマクロと定数の概念がありません)。

8. ステートメント

簡単なステートメント

1 行に最大 1 つのステートメントがあり、セミコロン; で終わります。関数リテラルおよびオブジェクト リテラルに値を割り当てるステートメントもセミコロン; を使用することに注意してください。
js では任意の変数をステートメントとして使用できますが、セミコロンを挿入するときにエラーが発生する可能性があるため、一般的に式を使用するステートメントは代入または関数呼び出しステートメントになります (この文の英語の原文は大まかに理解できますが、どうやって翻訳したほうが良いかわかりません)

複合文 ({} の間に含まれる文)

内部ステートメントはスペース 4 つでインデントされます。

開始括弧 { は開始ステートメント行の最後にある必要があります。
閉じ括弧は、終わりの独立した行に配置し、開き括弧を含む行の最初の文字と揃える必要があります。
ステートメントが制御ステートメント (for、if など) 内にある場合は、ステートメントが 1 つしかない場合でも、ステートメントを追加するときにバグが発生しないように、ステートメントを中括弧 {} で囲む必要があります。 。

9. タグ (この部分は正確ではないと思います)

label を使用するステートメントは選択的であり、while、for、do、switch のタイプのみがあります。

10. ステートメントを返す

戻り値は括弧で囲み、return 式を return キーワードと同じ行に置く必要があります (新しい行にセミコロンを挿入することは避けてください)。

11. if ステートメント

次の形式に従います:

コードをコピーします コードは次のとおりです:

if (条件) {
ステートメント
}

if (条件) {
ステートメント
} else {
ステートメント
}

if (条件) {
ステートメント
} else if (条件) {
ステートメント
} else {
ステートメント
}

12. for ステートメント

次の形式に従います:

コードをコピーします コードは次のとおりです:

for (初期化; 条件; 更新) {
ステートメント
}

for (オブジェクト内の変数) {
If (フィルター) {
ステートメント
}
}


最初のループ形式は、反復回数を決定できる配列と変数に使用されます。
2 番目はオブジェクトのトラバーサルに使用されます
注: ここでは、オブジェクト プロトタイプに追加されたプロパティを列挙できるため、フィルターするには hasOwnProperty メソッドを使用する必要があると記載されていますが、コード内で for を使用してテストしたときは表示されませんでした。問題はどこにあるのか。

13. while ステートメント

次の形式に従います:

コードをコピー コードは次のとおりです:

while (条件) {
ステートメント
}

14. do-while ステートメント

次の形式に従います:

コードをコピーします コードは次のとおりです:

{
を実行します ステートメント
while (条件);

ステートメントの最後にセミコロンを追加します。

15. switch ステートメント

次の形式に従います:

コードをコピーします コードは次のとおりです:

switch (式) {
case 式:
ステートメント
デフォルト:
ステートメント
}

過剰なインデントを避けるために、各 case はスイッチに合わせて配置する必要があります。case ラベルのみがステートメントではないため、インデントしないでください。
すべての case ステートメント (デフォルトを除く) は、break、return、または throw で終わる必要があります。

16. try ステートメント

次の形式に従います:

コードをコピーします コードは次のとおりです:

{
を試してください ステートメント
} catch (変数) {
ステートメント
}
{
を試してください ステートメント
} catch (変数) {
ステートメント
最後に {
ステートメント
}

17. ステートメントの継続

Continue ステートメントの使用は避けてください。

18. ステートメント

付き

with ステートメントは使用しないでください。

19. スペースを使用します

空行を設定して論理的に関連するコードセグメントを分離し、コードの可読性を高めます。
次の場合はスペースを設定します:
キーワードの後に​​は左括弧が続きます (スペースを使用します。例:
) while (true) {
関数パラメータと左括弧の間にスペースを使用することはできません (.
ピリオド (.)、左括弧 (()、角括弧 ([) を除く二項演算子では、オペランドを区切るためにスペースを使用する必要があります。
typeof 以外の単項演算子とそのオペランドの間にスペースを入れてはいけません。
for ステートメントの制御ブロック () 内の各セミコロンの後にはスペースがあります。
各カンマの後にはスペースが必要です。

20. 追加の提案

[] と {}
メンバー名が連続する整数の場合は配列が使用され、メンバー名が任意の文字列および名前の場合はオブジェクトが使用されます。
new object() の代わりに {} を使用し、new Array() の代わりに [] を使用します。
カンマ、演算子
カンマと演算子の使用は避けてください (このルールは、オブジェクト リテラル、配列リテラル定義、var 宣言ステートメント、パラメーター リストには適用されません)
ブロック範囲
ステートメント ブロックを使用しないステートメントに準拠することに加えて、js にはブロック レベルのスコープはなく、関数スコープのみがあります。
代入式
while 文や if 文の条件判定部分では代入文を使用しないでください。
===そして!==
一致する記号 (=== および !==) を使用して等しいかどうかを判断し、強制的な型等価変換記号 (== および !=) の使用を避けてください。
符号付き数値(または -)、または符号付き数値(または - -)に数値を加算(または -)する場合は、符号付き数値または(または - -)を囲む必要があります。
eval は悪魔 (eval の悪用)
eval にも同じ状況があり、Function コンストラクターは使用すべきではなく、文字列は setTimeout 関数または setInterval 関数に渡されません。

上記の 20 個の提案はすべて私がこのプロジェクトにまとめたもので、JavaScript を学習する初心者にとっては少し役立つはずです。間違いがあれば、ここで教えてください。一緒に進歩しましょう。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート