1. Kod Javascript hendaklah mematuhi piawaian pemeriksaan Douban-JSLint
1-1 Pernyataan mesti berakhir dengan koma bertitik, kecuali untuk, fungsi, jika, tukar, cuba, manakala
1. -2 . Hanya pernyataan panjang boleh dipertimbangkan untuk pemisah baris, seperti:
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}' , prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total); >
Untuk mengelakkan Ia bertentangan dengan mekanisme pengesahan JSLint seperti "." atau "+" diletakkan di hujung baris Kod di atas harus ditukar kepada:
TEMPL_SONGLIST. '{JADUAL}', da['results' ]). }', semasa).
gantikan( '{TOTAL_NUM}', da.page_total); Contohnya: var arr = [1,2,3,];
1-4. Semua badan gelung dan badan penghakiman perlu disertakan dalam "{}". Contohnya:
Salah:
jika (syarat)
kenyataan
atau
jika (syarat) pernyataan;
jika (syarat) {
pernyataan; atau
jika (syarat) { pernyataan; }
1-5 kaedah hasOwnProperty badan untuk memeriksa sama ada ahli itu untuk ahlinya sendiri. Elakkan pencemaran daripada rantai prototaip.
1-6. Pengisytiharan berubah harus diletakkan di bahagian atas fungsi. Elakkan menggunakan pembolehubah tidak diisytiharkan.
Salah:
jika (n > 0) {
var isvalid = true; jika (n > 0) {
tidak sah = benar;
}
1-7 jangan gunakan dengan, batal.
1-8. Gunakan operator bersyarat yang ketat. Gunakan === bukannya == dan !== bukannya !=.
1-9 Jenis objek berikut tidak disyorkan untuk dibina dengan baharu: Nombor baharu, Rentetan baharu, Boolean baharu, Objek baharu (ganti dengan {}), Tatasusunan baharu (ganti dengan []) .
1-10 Gunakan obj.prop1 dan bukannya obj[“prop1”] untuk merujuk ahli objek, melainkan nama sifat ialah pembolehubah.
Nota: Douban-JSLint ialah JSLint tersuai
Nota: Jika anda menggunakan pembolehubah global lain dalam kod modul dan ingin melangkau semakan JSLint, anda boleh menambah pernyataan dalam fail, seperti:
2. Peraturan penamaan Javascript
2-1 huruf besar pembina. Contohnya:
fungsi Dialog (config) {
pernyataan;
} var dlg = new Dialog({...}); Nama kaedah adalah dalam huruf kecil unta, seperti "init", "bindEvent", "updatePosition":
Dialog.prototype = {
init: function () {},
bindEvent: function () {},
updatePosition: function () {} };
2-3 Nama pembolehubah peribadi bermula dengan garis bawah. Contohnya: "_current", "_defaultConfig"
2-4 nama tetap hendaklah dalam semua huruf besar dan perkataan hendaklah dipisahkan dengan garis bawah. Contohnya: "CSS_BTN_CLOSE", "TXT_LOADING"
2-5 Awalan nama pembolehubah:
Awalan
Elemen
Contoh
<.>integer
nVariableName
i,j,k,m,n, dsb. *
integer sebagai counter/iterator
(untuk i= 0 ; i<=oArray.length; i++)
rentetan
sVariableName
objek
oObjectName
is, can, has
boolean
[Boolean name]ConditionName
kaedah acara
lampiran acara
[event type]_MethodName
kaedah pengakses
getMethodName
kaedah pengakses
setMethodName
Nota: Hanya pembilang/peulang harus menggunakan sebutan satu huruf
3. Keperluan pemformatan kod
3-1 Ruang dan lekukan yang diperlukan dalam pernyataan
3-1-1 diperlukan sebelum dan selepas "()" digunakan untuk memasukkan pernyataan . seperti: jika / untuk / semasa / suis ( pernyataan ) { … } dsb.
3-1-2 "=" perlu diikuti dengan ruang
3-1-3 . Ahli tatasusunan "," di antaranya perlu diikuti dengan ruang
yang tidak baik:
untuk (t dalam dipilih) { if (!hash[t]) nyahpilih( t) }
Baik:
untuk ( t dalam dipilih ) {
jika ( !hash[t] ) {
nyahpilih(t); >3-2. Gunakan pemisah baris untuk pernyataan panjang :
Buruk:
TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM} ', prev).replace('{NEXT_NUM }', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total);
Baik:
TEMPL_SONGLIST.replace('{ TABLE}', da['results']).
ganti('{CURRENT_NUM}' , semasa
ganti('{TOTAL_NUM}', da.page_total);
3-3 Buruk:
embedSWF(id, { url: '/swf/player30792.swf?url=' + el.href, lebar: 261, tinggi: 30, params: { wmode:'transparent' }, atribut : { id: "player-sample " + i, name: "player-sample" + i }});
Baik:
Salin kod
Kodnya adalah seperti berikut:
embedSWF(id, {
url: '/swf/player30792.swf?url=' + el.href,
lebar: 261,
tinggi : 30,
params: { wmode:'transparent' },
atribut: {
id: "player-sample" + i,
name : "sampel pemain" + i
});