JSLint mengesan spesifik tatabahasa JavaScript

Penulis:Mimpi kecil, Dicipta: 2017-01-10 10:19:32, Dikemas kini: 2017-01-10 10:24:05

JSLint mengesan spesifik tatabahasa JavaScript

Dalam penulisan kod javascript teratas, terdapat alat yang baik yang dipanggil JSLint untuk memeriksa norma kod dan melihat apa yang dimaksudkan oleh isyarat ralat JSLint:

  • Missing semicolon. : tidak mempunyai titik.

  • Use the function form of \use strict \. : menggunakan definisi fungsi standard. , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

  • Unexpected space after -. : tidak boleh mempunyai ruang selepas -.

  • Expected a JSON value. : Sila masukkan nilai json.

  • Bercampur ruang dan tab. Bercampur ruang dan tab.

  • Unsafe character.: tidak selamat.

  • Line too long. : Huruf dalam baris melebihi panjang maksimum yang ditetapkan.

  • Trailing whitespace.: Terdapat terlalu banyak ruang kosong di akhir baris.

  • URL JavaScript. URL: URL skrip JavaScript.

  • Unexpected {a} in {b} . : tidak boleh muncul dalam {b} ,

  • Unexpected {a}.: {a} tidak sepatutnya muncul di sini..

  • Strings must use doublequote. : String mesti menggunakan tanda kutip ganda.

  • Yang tidak perlu melarikan diri. Yang tidak perlu melepaskan diri.

  • Control character in string: {a}. : muncul dalam senar dengan karakter Control.

  • Avoid \.: Avoid \.:

  • Avoid \v.: mengelakkan \v,

  • Avoid \x-.: mengelakkan \x-,

  • Yang Bad escapement. Yang: Yang salah transliterasi karakter yang salah, yang salah transliterasi karakter yang salah, yang salah transliterasi, yang salah transliterasi, yang salah transliterasi, yang salah transliterasi, yang salah transliterasi.

  • Bad number {a}.: salah nombor {a},

  • Missing space after {a}. : selepas {a} hilang kekosongan,

  • Dont use extra leading zeros {a}. : Jangan lagi menggunakan 0 tambahan di hadapan a},

  • Avoid 0x-. {a}.: Avoid menggunakan 0x-. {a}.

  • A trailing decimal point can be confused with a dot {a}. : digunakan dalam {a} sebagai titik selepas titik kecil,

  • Yang tidak dijangka komen. Yang: Yang tidak sepatutnya ada tanda komen di sini, tetapi saya tidak mahu ada tanda komen di sini.

  • Unescaped {a}.: tidak berbalik {a}, {a}

  • : : muncul sebagai control character in regular expression.

  • Unexpected escaped character {a} in regular expression. : muncul tanpa makna dalam ungkapan biasa.

  • Expected {a} and instead saw {b}. : seharusnya digantikan dengan {a}

  • Spaces are hard to count. Use {{a}}.

  • Insecure {a}.: tidak selamat {a}, {a}, {a}, {a}

  • Empty class. : :

  • Expected a number and instead saw {a}. : sepatutnya menggunakan nombor sebagai pengganti {a}.

  • {a} tidak boleh lebih besar daripada {b}.

  • YanghasOwnProperty adalah nama yang sangat buruk.

  • {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. A dot following a number can be confused with a decimal point. A dot following a number can be confused with a decimal point.

  • Confusing minusses: Perkataan negatif yang mudah dikelirukan.

  • Confusing plusses. : adalah ungkapan nombor positif yang mudah keliru + , dan adalah ungkapan nombor positif yang mudah keliru + .

  • Unmatched {a}.: {a} yang tidak dapat dipadankan, {a} yang tidak dapat dipadankan, {a} yang tidak dapat dipadankan, {a} yang tidak dapat dipadankan, {a} yang tidak dapat dipadankan, {a} yang tidak dapat dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan, {a} yang tidak boleh dipadankan,

  • Expected {a} to match {b} from line {c} and instead saw {d}. : dalam baris {c} memerlukan pencocokan dengan {a} dan {b}, untuk menggantikan {d}.

  • Penutupan awal program yang tidak dijangka.

  • A leading decimal point can be confused with a dot: .

  • Use the array literal notation [].: menggunakan simbol [],

  • Expected an operator and instead saw {a}.

  • Unexpected space after {a}. : tidak boleh muncul ruang kosong selepas {a}

  • Unexpected space before {a}. : tidak boleh muncul ruang kosong sebelum {a}

  • Bad line breaking before {a}. : sebelum {a} bertukar baris yang salah, {a}

  • Expected {a} to have an indentation at {b} instead at {c}.: {a} perlu menyusut ke dalam silinder pada {c} dan bukannya pada {b},

  • Line breaking error {a}.: kesalahan menukar baris {a},

  • Unexpected use of {a}.: tidak boleh digunakan di sini.

  • Operand yang salah. Operand: Operan yang salah.

  • Use the isNaN function to compare with NaN. Gunakan fungsi isNaN untuk membandingkan dengan NaN.

  • Confusing use of {a}. : {a} mudah keliru

  • Read only.: yang hanya membaca sifat ,

  • {a} adalah fungsi.

  • Penjagaan yang salah, penjagaan yang salah, penjagaan yang salah.

  • 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 ungkapan yang diberikan, dan bukannya panggilan untuk kaedah,

  • Expected an identifier and instead saw {a} (a reserved word).

  • Missing name in function declaration. : tidak mempunyai nama dalam deklarasi kaedah,

  • Expected an identifier and instead saw {a}.

  • Fungsi dalaman harus disenaraikan di bahagian atas fungsi luar.

  • Unreachable {a} after {b}. : {b} tidak dapat mendapatkan {a} selepas {b},

  • Yang tidak perlu titik koma. Yang tidak perlu titik koma, yang tidak perlu titik koma.

  • Label {a} on {b} statement. : akan meletakkan {a} di dalam pernyataan {b},

  • Label {a} kelihatan seperti url javascript.

  • Expected an assignment or function call and instead saw an expression: memerlukan panggilan tugas atau fungsi, bukan satu ungkapan.

  • Do not use new for side effects. : Jangan gunakan kata new.

  • Unnecessary \use strict \.: tidak perlu \use strict \.,

  • Missing \use strict \ statement.

  • Empty block.: Blok kosong adalah blok kosong, dan blok kosong adalah blok kosong.

  • Unexpected /*member {a}.: tidak sepatutnya muncul /* unsur {a}.,

  • {a} is a statement label.

  • {a} digunakan di luar skop: {a} digunakan di luar skop

  • {a} tidak dibenarkan.

  • {a} tidak ditakrifkan.

  • Use {a} to compare with {b}. : menggunakan {a} untuk membandingkan {b} dengan {a}.

  • Variables should not be deleted. : pembolehubah perlu dipadamkan

  • Use the object literal notation {}.

  • Do not use {a} as a constructor.

  • Konstruktor Fungsi adalah eval.:Konstruktor Fungsi adalah eval.,

  • A constructor name should start with an uppercase letter.

  • Pencipta yang buruk. Pencipta yang salah, pencipta yang salah.

  • Weird construction. Delete new. : objek pembinaan adalah salah, sila hapus new,

  • Missing () invoking a constructor.: tiada tanda kurung (() ,

  • Avoid arguments.{a}.: mengelakkan argumen.{a}.,

  • document.write can be a form of eval. : document.write adalah sejenis bentuk eval, yang boleh digunakan untuk menulis teks.

  • eval is evil.: cubalah untuk tidak menggunakan eval.

  • Math is not a function. : Math bukanlah fungsi , tetapi ia adalah fungsi yang mempunyai fungsi yang sama.

  • Missing new prefix when invoking a constructor. : yang hilang di sini new

  • Missing radix parameter. : tidak mempunyai parameter

  • Implied eval is evil. Pass a function instead of a string. : menyampaikan fungsi, bukan string

  • Bad invocation.: salah panggilan

  • [{a}] is better written in dot notation. : [{a}] lebih baik ditulis dengan titik.

  • Extra comma.: comma tambahan

  • Dont make functions within a loop. : Jangan buat fungsi dalam bentuk gelung, tetapi anda boleh membuat fungsi dalam bentuk gelung.

  • Unexpected parameter {a} in get {b} function.

  • Duplicate member {a}.: yang berulang {a},

  • Expected to see a statement and instead saw a block. : sepatutnya di sini adalah kenyataan pernyataan.

  • "Too many var statements" (Terlalu banyak pernyataan var)

  • Redefinition of {a}.: {a} telah ditakrifkan semula sebagai .

  • It is not necessary to initialize {a} to undefined. : tidak perlu mengisytiharkan {a} sebagai undefined.

  • Expected a conditional expression and instead saw an assignment. : memerlukan ungkapan di sini, dan bukan ungkapan penugasan , tetapi melihat satu tugas.

  • 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 .: di sini switch sepatutnya if .,

  • All debugger statements should be removed. : Sila keluarkan statement yang terdapat pada debugger .

  • {a} is not a statement label. : {a} bukanlah label pernyataan.

  • Expected an assignment or function call and instead saw an expression. : memerlukan panggilan tugas atau fungsi, dan bukan panggilan ekspresi, tetapi panggilan fungsi.

  • Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.

  • Contoh tips yang saya dapat daripada projek saya:

  • 1 [W099]:Layanan dan tab bercampur

    Kesalahan ini adalah yang paling biasa, yang bermaksud bahawa di dalam baris yang sama, ruang kosong dan Tab shrink dicampurkan digunakan, perubahan yang mudah, biasanya menghapus Tab shrink dan mengubah semuanya menjadi ruang kosong. Untuk kemudahan, kita boleh menetapkan Tab shrink editor menjadi 2 atau 4 ruang kosong, untuk menggantikan penyusutan asal.

  • 2 [W030]:Menunggu panggilan tugas atau fungsi dan sebaliknya melihat ungkapan

    Kesalahan ini agak pelik, saya telah membuat kesalahan ini dengan kod berikut: index-1 <0? index = 0:index = index - 1; ini adalah ungkapan koma, tetapi JSLInt berpendapat bahawa ini tidak boleh menjadi ungkapan, tetapi mesti menjadi fungsi, jadi, jika anda benar-benar peduli dengan kesalahan ini, ubahnya kepada if else statement.

  • 3 [W041]: Gunakan === untuk membandingkan dengan...

    Kesilapan ini adalah bahawa jika kita menggantikan persamaan dengan bilangan bulat, jika kedua-dua sisi ungkapan mempunyai jenis data yang sama, kita disarankan untuk menggunakan bilangan bulat untuk menilai.

  • 4 [W033]:Hilang titik koma

    Jika anda tidak mempunyai tanda petik; ini biasanya anda lupa untuk menulis, tetapi satu perkara yang perlu diperhatikan adalah bahawa untuk struktur hanya satu ayat, tanda petik juga perlu ditulis di belakang. Contohnya: if ((index <0) {index=tcount-1}

  • Terdapat juga beberapa petua yang salah, jadi cubalah untuk mengubahnya, untuk memupuk gaya kod dan tabiat menulis yang baik.

Dibaharuihttp://www.zystudios.cn/blog/post/70.ShtmlBlog anak kecil


Lebih lanjut