ホームページ >ウェブフロントエンド >CSSチュートリアル >JavaScriptコード仕様概要_基本チュートリアル
1. Javascript コードは Douban-JSLint 検査標準に準拠している必要があります
1-1. ステートメントは、function、if、switch、try、while を除き、セミコロンで終わる必要があります
1-2。改行として考慮できるのは、
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}', prev) のような長いステートメントのみです。
.replace('{NEXT_NUM}', 次)
.replace('{CURRENT_NUM}', 現在)
.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 (条件)
ステートメント;
または
if (条件) ステートメント;
正解:
if (条件) {
ステートメント; or
if (条件) { ステートメント; }
1-5. hasOwnProperty メソッドは for-in ループで使用する必要がありますbody は、メンバーが自分のメンバー向けであるかどうかを確認します。プロトタイプチェーンからの汚染を避けてください。
1-6. 変数の宣言。変数宣言は関数の先頭に置く必要があります。宣言されていない変数の使用は避けてください。
不正解:
if (n > 0) {
var isvalid = true;
正解:
var isvalid;
if (n > 0) {
isvalid = true;
}
1-7. void、evil と一緒に使用しないでください。
1-8. 厳密な条件演算子を使用します。 == の代わりに === を使用し、!= の代わりに !== を使用します。
1-9. 次のタイプのオブジェクトは new で構築することはお勧めしません: new Number、new String、new Boolean、new Object ({} で置き換えます)、new Array ([] で置き換えます) 。
1-10. プロパティ名が変数でない限り、オブジェクト メンバーを参照するには、obj[“prop1”] の代わりに obj.prop1 を使用します。
注: Douban-JSLint はカスタマイズされた JSLint です。
注: モジュール コードで他のグローバル変数を使用し、JSLint チェックをスキップしたい場合は、ファイルにステートメントを追加できます。例:
2. Javascript の命名規則
2-1. コンストラクターの最初の文字を大文字にします。例:
function Dialog (config) {
statement;
} var dlg = new Dialog({...});
2-2. オブジェクトのプロパティ またはメソッド名は、「init」、「bindEvent」、「updatePosition」のように小文字のキャメルケースで表されます。
Dialog.prototype = {
init: function () {},
bindEvent: function () {},
updatePosition: function () {} };
2-3. プライベート変数名はアンダースコアで始まります。例: "_current"、"_defaultConfig"
2-4. 定数名はすべて大文字で指定し、単語はアンダースコアで区切る必要があります。例: "CSS_BTN_CLOSE"、"TXT_LOADING"
2-5. 変数名の接頭辞:
接頭辞
要素
例
整数
nVariableName
i、j、k、m、n など *
カウンター/反復子としての整数
(i= の場合) 0 ; i
文字列
sVariableName
オブジェクト
oObjectName
ある、できる、持っている
ブール値
[ブール名]ConditionName
イベント メソッド
イベント アタッチメント
[イベント タイプ]_MethodName
> アクセサー メソッド
getMethodName
アクセサー メソッド
setMethodName
注: カウンタ/反復子のみ 1 文字の指定を使用する必要があります。
3. コードのフォーマット要件
3-1. ステートメントに必要なスペースとインデント
3-1-1. インクルードに使用される「()」の前後にはスペースが必要ですステートメント: if / for / while / switch (statement ) { … } など
3-1-2.「=」の後にはスペースが必要です
3-1 -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}', 前).
replace('{NEXT_NUM}', 次).
replace('{CURRENT_NUM}' , current).
replace('{TOTAL_NUM}', da.page_total);
3-3. オブジェクトパラメータのフォーマット:
悪い例:
embedSWF(id, { url: '/swf/player30792.swf?url=' el.href, width: 261, height: 30, params: { wmode:'transparent' }, 属性: { id: "player-sample" i, name: "player-sample" i }});
良い: