1. Le code Javascript doit être conforme à la norme d'inspection Douban-JSLint
1-1. Les instructions doivent toutes se terminer par un point-virgule, à l'exception de, function, if, switch, try, while
1. -2 . Seules les instructions longues peuvent être prises en compte pour les sauts de ligne, telles que :
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}'. , prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total
Pour éviter tout conflit avec le mécanisme de vérification de JSLint. Les opérateurs tels que "." ou "+" sont placés à la fin de la ligne. Le code ci-dessus doit être remplacé par :
TEMPL_SONGLIST.replace. '{TABLE}', da['results' ]).
replace('{PREV_NUM}', prev
replace('{NEXT_NUM}',
replace('{CURRENT_NUM). }', actuel).
replace( '{TOTAL_NUM}', da.page_total);
1-3. Par exemple : var arr = [1,2,3,];
1-4. Tous les corps de boucle et de jugement doivent être entourés de "{}". Par exemple :
Faux :
if (condition)
déclaration
ou
if (condition)
Corrig :
if (condition) {
statement; ou
if (condition) { Statement; }
1-5. organisme pour vérifier si le membre est pour ses propres membres. Évitez la contamination de la chaîne du prototype.
1-6. Déclaration des variables. Les déclarations de variables doivent être placées en haut de la fonction. Évitez d'utiliser des variables non déclarées.
Faux :
if (n > 0) {
var isvalid = true;
Correct :
var isvalid
if (n > 0) {
isvalid = true
}
1-7. Ne pas utiliser avec, void, evil;
1-8. Utilisez des opérateurs conditionnels stricts. Utilisez === au lieu de == et !== au lieu de !=.
1-9. Il n'est pas recommandé de construire les types d'objets suivants avec new : new Number, new String, new Boolean, new Object (remplacer par {}), new Array (remplacer par []) .
1-10. Utilisez obj.prop1 au lieu de obj["prop1"] pour référencer les membres de l'objet, sauf si le nom de la propriété est une variable.
Remarque : Douban-JSLint est un JSLint personnalisé
Remarque : Si vous utilisez d'autres variables globales dans le code du module et souhaitez ignorer la vérification JSLint, vous pouvez ajouter une instruction dans le fichier, tels que :
2. Règles de dénomination Javascript
2-1 Mettre en majuscule la première lettre du constructeur. Par exemple :
function Dialog (config) {
statement;
} var dlg = new Dialog({...});
2-2. Les noms de méthodes sont en minuscules, tels que "init", "bindEvent", "updatePosition":
Dialog.prototype = {
init: function () {},
bindEvent : function () {},
updatePosition: function () {} };
2-3 Les noms de variables privées commencent par un trait de soulignement. Par exemple : "_current", "_defaultConfig"
2-4. Les noms de constantes doivent être en majuscules et les mots doivent être séparés par des traits de soulignement. Par exemple : "CSS_BTN_CLOSE", "TXT_LOADING"
2-5 Préfixe du nom de la variable :
Préfixe
Élément
Exemple
entier
nVariableName
i,j,k,m,n, etc. *
entier comme compteur/itérateur
(pour i= 0 ; i<=oArray.length; i++)
chaîne
sVariableName
objet
oObjectName
est, peut, a
booléen
[Nom booléen]ConditionName
méthode d'événement
pièce jointe à l'événement
[type d'événement]_MethodName
méthode d'accesseur
getMethodName
méthode d'accesseur
setMethodName
Remarque : seul un compteur/itérateur doit utiliser une désignation à une seule lettre
3. Exigences de formatage du code
3-1. Espaces et indentations nécessaires dans les déclarations
3-1-1 Les espaces sont requis avant et après "()" utilisé pour inclure les déclarations, tels que : if / for / while / switch ( déclarations ) { … } etc.
3-1-2 "=" doit être suivi d'espaces
3-1-3. . Membres du tableau Le "," entre les deux doit être suivi d'un espace
ce qui n'est pas bon :
for (t in selected) { if (!hash[t]) deselect( t) }
Bon :
pour ( t dans sélectionné ) {
if ( !hash[t] ) {
deselect(t }
3-2. Utilisez des sauts de ligne pour les instructions longues :
Mauvais :
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}', next).
replace('{CURRENT_NUM}' , current).
replace('{TOTAL_NUM}', da.page_total);
3-3. Formater les paramètres de l'objet :
Mauvais :
embedSWF(id, { url: '/swf/player30792.swf?url=' + el.href, width : 261, height : 30, params : { wmode:'transparent' }, attributs : { id : "player-sample" + i, nom : "player-sample" + i }});
Bon :
Copier le code