Dalam penulisan kod JavaScript, ada alat yang baik yang dipanggil JSLint, yang boleh memeriksa kod yang telah ditetapkan, dan melihat apa yang dimaksudkan dengan isyarat kesilapan JSLint:
Missing semicolon. : tiada tanda baca. ,
Use the function form of <unk>use strict<unk>.: Use the function form of <unk>use strict<unk>.: Use the function form of <unk>use strict<unk>.
Unexpected space after -. : Tidak boleh ada ruang kosong selepas -.
Expected a JSON value. : Sila masukkan nilai json.
Mixed spaces and tabs. : ruang dan TAB berulang. ,
Unsafe character. : watak yang tidak selamat.
Line too long. : Karakter dalam baris ini melebihi panjang maksimum yang ditetapkan. ,
Trailing whitespace.: Terlalu banyak ruang kosong di hujung baris.
Script URL.: Script URL.,
Unexpected {a} in {b} : tidak sepatutnya muncul dalam {b}
Yang tak dijangka Yang tak dijangka: Yang tak sepatutnya berada di sini Yang tak dijangka
Strings must use doublequote. Strings must use doublequote.
Unnecessary escapement. : tidak perlu ditukar
Control character in string: {a}. : muncul dalam string sebagai Control,
“Avoid <unk>: Elakkan \”,
“Avoid \v. Menghindar daripada mengunyah.\v”,
“Avoid \X. Jerawat: Jerawat dihindari.\x-”,
Bad escapement. : salah terjemahan
“Bad number” “Bad number” “Bad number”
Missing space after {a} : tidak mempunyai ruang selepas {a}
Don’t use extra leading zeros {a} .
Avoid 0x-. {a}. : Elakkan menggunakan 0x-. {a}.
A trailing decimal point can be confused with a dot {a} .
Yang tidak dijangka komen: Yang tidak dijangka komen: Yang tidak dijangka komen: Yang tidak dijangka komen
Yang tak dapat melarikan diri. Yang tak dapat melarikan diri. Yang tak dapat melarikan diri.
Unexpected control character in regular expression. : Karakter kawalan yang tidak dijangka dalam ungkapan tetap.
Unexpected escaped character {a} in regular expression. : muncul dalam ungkapan biasa tanpa terjemahan {a} ,
Expected {a} and instead saw {b}
Spaces are hard to count. Use {{a}}. : Ruang kosong sukar dihitung, gunakan {{a}},
“Insecure” ialah “tidak selamat”.
Kelas kosong: Kelas kosong.
Expected a number and instead saw {a}.
{a} tidak boleh lebih besar daripada {b}
hasOwnProperty is a really bad name. : hasOwnProperty is a really bad name.
{a} was used before it was defined. {a} telah digunakan sebelum ia ditakrifkan.
{a} is already defined. : {a} telah ditakrifkan berulang kali
A dot following a number can be confused with a decimal point. : Titik di belakang nombor boleh disalah anggap sebagai titik kecil dalam sistem perpuluhan
Confusing minusses : mudah dikelirukan dengan ungkapan negatif - ,
Confusing plusses. Confusing plusses: Perkataan positif yang mudah dikelirukan + confusing plusses, atau lebih dikenali sebagai confusing plusses.
Yang tak tertandingi. Yang tak boleh ditandingi. Yang tak boleh ditandingi.
Expected {a} to match {b} from line {c} and instead saw {d}.
Pengakhiran program awal yang tidak dijangka. Pengakhiran program awal yang tidak dijangka
A leading decimal point can be confused with a dot: .{a} .: {a}
“Use the array literal notation [].: menggunakan simbol array []“,
Expected an operator and instead saw {a}. : perlu digantikan dengan simbol {a},
Unexpected space after {a}. : Tidak boleh ada ruang kosong selepas {a},
Unexpected space before {a}. : Tidak boleh ada ruang kosong sebelum {a}.
Bad line breaking before {a}. : Bad line breaking before {a}.
Expected {a} to have an indentation at {b} instead at {c}. : {a} perlu mengindentasi pada {c} dan bukan pada {b}
Line breaking error {a} .: Kesalahan penukaran baris {a}
Unexpected use of {a}. : tidak boleh digunakan di sini {a},
Operand yang tidak baik. Operand yang tidak baik.
Use the isNaN function to compare with NaN. Use the isNaN function to compare with NaN.
Confusing use of {a} : mudah dikelirukan dengan {a} menggunakan
Read only. : mempunyai sifat read only, mempunyai sifat read only, dan mempunyai sifat read only.
Jadi, ia adalah satu fungsi.
Bad assignment. : Salah penugasan
Do not assign to the exception parameter. : Jangan berikan nilai kepada parameter tambahan.
Expected an identifier in an assignment and instead saw a function invocation. : memerlukan pengenal dalam pernyataan penugasan, dan bukan penyulitan kaedah,
Expected an identifier and instead saw {a} (a reserved word). : memerlukan pengenal, dan bukannya {a}
Missing name in function declaration. : Missing name in function declaration. : Missing name in function declaration. Missing name in function declaration. : Missing name in function declaration.
Expected an identifier and instead saw {a}. : memerlukan pengenal, bukan {a}, tetapi {a}.
Inner functions should be listed at the top of the outer function.
Unreachable {a} after {b}. : tidak dapat memperoleh {a} selepas {b}, tidak dapat memperoleh {a} selepas {b}, tidak dapat memperoleh {a} selepas {b}.
Unnecessary semicolon.
Label {a} on {b} statement. : label {a} on {b} statement.
Label {a} looks like a javascript url.
Expected an assignment or function call and instead saw an expression
Do not use new for side effects.: Jangan gunakan new untuk kesan sampingan.
Unnecessary <unk>use strict<unk>.: Unnecessary <unk>use strict<unk>.: Unnecessary <unk>use strict<unk>.
Missing <unk>use strict<unk> statement.: Missing <unk>use strict<unk> statement,
Empty block. : Blok kosong.
“Unexpected /*member {a}.: tidak sepatutnya muncul /*Elemen Z (a)
{a} is a statement label. : {a} ialah label pernyataan.
{a} used out of scope. : {a}
{a} is not allowed. {a} tidak dibenarkan.
{a} is not defined. : {a} tidak ditakrifkan
Use a{} to compare with b{}
Variables should not be deleted. : Variabel perlu dihapuskan
Use the object literal notation {}. : menggunakan notasi harfiah objek {} ,
Do not use {a} as a constructor. : Jangan gunakan {a} sebagai objek pembina.
“The Function constructor is eval.”:“The Function constructor is eval.”,
A constructor name should start with an uppercase letter. : Nama objek pembina harus bermula dengan huruf besar. :
Bad constructor.: Bad constructor.: Bad constructor.
Weird construction. Delete new. : Salah membina objek, sila hapuskan new,
Missing ((() invoking a constructor. : kurang tanda kurung (() ,
Avoid arguments.{a}.: mengelak argumen.{a}.
document.write can be a form of eval. : document.write adalah bentuk eval,
eval is evil. : Cuba jangan gunakan eval.
Math is not a function. : Math is not a function,
Missing new prefix when invoking a constructor. : new prefix when invoking a constructor.
Missing radix parameter. : tiada parameter ,
Implied eval is evil. Pass a function instead of a string
Bad invocation. : Permohonan yang salah,
“[‘{a}’] is better written in dot notation.”:“[‘{a}’ lebih baik menggunakan titik.
Extra comma. : Komma tambahan,
Don’t make functions within a loop. : Jangan buat fungsi dalam gelung.
Unexpected parameter {a} in get {b} function. : tidak boleh digunakan dalam kaedah {b} dengan parameter {a},
Duplicate member {a} . : berganda {a}
Expected to see a statement and instead saw a block.
“Too many var statements” (Terlalu banyak var pernyataan)
Redefinition of {a}. : {a} didefinisikan berulang kali ,
It is not necessary to initialize {a} to undefined. : Tidak perlu menginisialisasi {a} ke undefined.
Expected a conditional expression and instead saw an assignment. : memerlukan ungkapan dan bukannya peruntukan.
Expected a break statement before case. : Perlu ada break sebelum case.
Expected a break statement before default. : Perlu ada break sebelum default.
This switch should be an if .
All debugger statements should be removed. : Tolong hapuskan semua pernyataan debugger,
{a} is not a statement label. : {a} is not a statement label.
Expected an assignment or function call and instead saw an expression. : Memerlukan panggilan fungsi atau pernyataan, bukan panggilan ungkapan,
Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.
1 [W099]:Mixed spaces and tabs
Kesalahan ini adalah yang paling biasa, yang bermaksud dalam baris yang sama, ruang dan penyusutan Tab digunakan secara bercampur-campur, pengubahsuaian sangat mudah, biasanya menghapus penyusutan Tab, dan semuanya berubah menjadi ruang kosong. Untuk kemudahan, kita boleh menetapkan penyusutan Tab editor menjadi 2 atau 4 ruang kosong, untuk menggantikan penyusutan asal.
Ini agak pelik, saya telah membuat kod ini dengan kod ini: index-1 < 0 ? index = 0:index = index - 1; ini adalah ungkapan koma, tetapi JSLInt berpendapat bahawa ia tidak boleh digunakan sebagai ungkapan, tetapi ia mesti menjadi fungsi, jadi jika anda benar-benar peduli dengan kesilapan ini, anda boleh mengubahnya menjadi if else.
Kesilapan ini ialah, jika kita menggunakan persamaan penuh untuk menggantikan persamaan, jika kedua-dua belah ungkapan mempunyai jenis data yang sama, maka kita boleh menggunakan persamaan penuh untuk menilai persamaan.
Tiada tanda baca; ini biasanya saya lupa untuk menulisnya sendiri, tetapi satu perkara yang perlu diperhatikan ialah, untuk struktur hanya satu ayat, anda juga perlu menulis tanda baca di belakangnya. Sebagai contoh: if(index) {index=tcount-1} Ayat kod ini, penulisan yang betul adalah if(index) {index=tcount-1;}, saya sering lupa untuk menulis tanda baca di sini, dan …
Dikutip dari blog Zy Studio.