1. Javascript-Code sollte dem Douban-JSLint-Inspektionsstandard
1-1 entsprechen. Anweisungen müssen alle mit einem Semikolon enden, außer „function“, „if“, „switch“, „while“
1 -2 . Für Zeilenumbrüche können nur lange Anweisungen berücksichtigt werden, wie zum Beispiel:
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}' , prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total); >
Um Konflikte mit dem Verifizierungsmechanismus von JSLint zu vermeiden, werden Operatoren wie „.“ oder „+“ am Ende der Zeile platziert:
TEMPL_SONGLIST.replace. '{TABLE}', da['results' ]).
replace('{PREV_NUM}',
replace('{NEXT_NUM}', next). }', aktuell).
replace( '{TOTAL_NUM}', da.page_total);
1-3. Zum Beispiel: var arr = [1,2,3,];
1-4. Alle Schleifenkörper und Beurteilungskörper müssen in „{}“ eingeschlossen sein. Zum Beispiel:
Falsch:
if (Bedingung)
oder
if (Bedingung)-Anweisung
Richtig:
if (condition) {
statement; oder
if (condition) { Statement }
1-5 Das Gremium prüft, ob das Mitglied für seine eigenen Mitglieder bestimmt ist. Vermeiden Sie Kontaminationen durch die Prototypenkette.
1-6. Variablendeklaration. Variablendeklarationen sollten am Anfang der Funktion platziert werden. Vermeiden Sie die Verwendung nicht deklarierter Variablen.
Falsch:
if (n > 0) {
var isvalid = true;
Richtig:
var isvalid;
if (n > 0) {
isvalid = true;}
1-7.
1-8. Verwenden Sie strenge bedingte Operatoren. Verwenden Sie === statt == und !== statt !=.
1-9. Es wird nicht empfohlen, die folgenden Objekttypen mit new zu erstellen: neue Zahl, neuer String, neuer boolescher Wert, neues Objekt (ersetzen durch {}), neues Array (ersetzen durch []) .
1-10. Verwenden Sie obj.prop1 anstelle von obj[„prop1“], um auf Objektmitglieder zu verweisen, es sei denn, der Eigenschaftsname ist eine Variable.
Hinweis: Douban-JSLint ist ein angepasstes JSLint
Hinweis: Wenn Sie andere globale Variablen im Modulcode verwenden und die JSLint-Prüfung überspringen möchten, können Sie der Datei eine Anweisung hinzufügen. wie zum Beispiel:
2. Javascript-Namensregeln
2-1. Zum Beispiel:
function Dialog (config) {
statement; var dlg = new Dialog({...}); Methodennamen werden in Kleinbuchstaben geschrieben, z. B. „init“, „bindEvent“, „updatePosition“:
Dialog.prototype = {
init: function () {},
bindEvent: function () {},
updatePosition: function () {} }; Namen privater Variablen beginnen mit einem Unterstrich. Beispiel: „_current“, „_defaultConfig“
2-4. Konstantennamen sollten ausschließlich in Großbuchstaben geschrieben sein und Wörter sollten durch Unterstriche getrennt sein. Zum Beispiel: „CSS_BTN_CLOSE“, „TXT_LOADING“
2-5. Präfix des Variablennamens:
Präfix
Element
Beispiel
Ganzzahl
nVariableName
i,j,k,m,n usw. *
Ganzzahl als Zähler/Iterator
(für i= 0 ; i<=oArray.length; i++)
string
sVariableName
object
oObjectName
is, can, has
boolean
[Boolescher Name]ConditionName
Ereignismethode
Ereignisanhang
[Ereignistyp]_MethodName
Zugriffsmethode
getMethodName
Zugriffsmethode
setMethodName
Hinweis: Nur ein Zähler/Iterator sollte eine aus einem Buchstaben bestehende Bezeichnung
3. Anforderungen an die Codeformatierung
3-1. Erforderliche Leerzeichen und Einrückungen in Anweisungen
3-1-1 werden verwendet, um Anweisungen einzuschließen. wie zum Beispiel: if / for / while / switch ( Statements ) { … } usw.
3-1-2 "=" muss von Leerzeichen
3-1-3 gefolgt werden . Array-Mitglieder Dem "," dazwischen muss ein Leerzeichen
folgen, was nicht gut ist:
for (t in selected) { if (!hash[t]) deselect( t) }
Gut:
for ( t in selected ) {
if ( !hash[t] ) {
deselect(t); }
3-2. Verwenden Sie Zeilenumbrüche für lange Anweisungen:
Schlecht:
TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM} ', prev).replace('{NEXT_NUM }', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total);
Gut:
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. Formatierungsobjektparameter:
Schlecht:
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 }});
Gut:
Code kopieren
Der Code lautet wie folgt:
embedSWF(id, {