avatar of 发明者量化-小小梦 发明者量化-小小梦
tập trung vào tin nhắn riêng tư
4
tập trung vào
1271
Người theo dõi

JSLint phát hiện các thông số cú pháp Javascript

Được tạo ra trong: 2017-01-10 10:19:32, cập nhật trên: 2017-01-10 10:24:05
comments   0
hits   2155

JSLint phát hiện các thông số cú pháp Javascript

Trong việc viết mã JavaScript ở đầu, có một công cụ rất hay gọi là JSLint, nó có thể kiểm tra các chuẩn hóa mã và xem những lời khuyên lỗi của JSLint có nghĩa là gì:

  • Missing semicolon. : thiếu dấu chấm.

  • Use the function form of <unk>use strict<unk>.: sử dụng hàm định nghĩa tiêu chuẩn.

  • Unexpected space after -. : Không nên có khoảng trống sau -.

  • Expected a JSON value. : Xin nhập một giá trị json. ,

  • Mixed spaces and tabs. : Không gian và tab lặp lại. ,

  • “Unsafe character” (tính cách không an toàn)

  • LINE TOO LONG: Chữ trong dòng quá chiều dài tối đa.

  • Trailing whitespace.: Có quá nhiều không gian trống ở cuối dòng.

  • Script URL.: Script URL.,

  • Unexpected {a} in {b} : không nên xuất hiện trong {b}

  • “Em không nên ở đây, em không nên ở đây, em không nên ở đây”.

  • Strings must use doublequote. Strings must use doublequote.

  • Unnecessary escapement. : Không cần phải chuyển từ .

  • Control character in string: {a}. : xuất hiện trong một chuỗi,

  • “Avoid \Ừm, không phải.\”,

  • “Avoid \v. Khỏi: Khỏi\v”,

  • “Avoid \X. Sữa: Tránh thuốc lá.\x-”,

  • Bad escapement. : là một chữ viết sai, là một chữ viết sai, là một chữ viết sai.

  • Bad number {a} : số sai {a}

  • Missing space after {a} : Không có khoảng trống sau {a}

  • Don’t use extra leading zeros Don’t use extra leading zeros Don’t use extra leading zeros

  • Avoid 0x-. {a}. : tránh sử dụng 0x-. {a}.

  • A trailing decimal point can be confused with a dot {a} .

  • “Tôi không nghĩ rằng tôi có thể làm được điều đó, nhưng tôi nghĩ rằng tôi có thể làm được điều đó, và tôi nghĩ rằng tôi có thể làm được điều đó, và tôi nghĩ rằng tôi có thể làm được điều đó”.

  • “Thiếu sót” “Thiếu sót” “Thiếu sót”

  • Unexpected control character in regular expression. : là ký tự điều khiển bất ngờ trong biểu thức chính quy.

  • Unexpected escaped character {a} in regular expression. : xuất hiện trong biểu thức chính quy mà không có chuyển nghĩa {a} ,

  • Expected {a} and instead saw {b}

  • Spaces are hard to count. Use {{a}}. : Không gian không thể đếm được, hãy dùng {{a}}.

  • “Insecure” là “không an toàn”.

  • Empty class. Empty class. Empty class.

  • Expected a number and instead saw {a}.

  • {a} should not be greater than {b} : {a} không nên lớn hơn {b}

  • hasOwnProperty is a really bad name. : hasOwnProperty là một từ khóa rất xấu.

  • {a} was used before it was defined. : {a} đã được sử dụng trước khi nó được định nghĩa.

  • {a} is already defined. : {a} được định nghĩa lặp đi lặp lại

  • A dot following a number can be confused with a decimal point. Một dấu chấm sau một số có thể bị nhầm lẫn với một dấu chấm số nhỏ trong hệ số thập phân.

  • Confusing minusses : dễ bị nhầm lẫn với biểu thức số âm - ,

  • Confusing plusses. Confusing plusses: Confusing plusses dễ bị nhầm lẫn với biểu thức tích cực + confusing plusses.

  • “Unmatched” (Không sánh kịp)

  • Expected {a} to match {b} from line {c} and instead saw {d} .

  • Unexpected early end of program.: Chương trình kết thúc sớm bất ngờ.

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

  • “Use the array literal notation []. : sử dụng ký hiệu của mảng []“,

  • Expected an operator and instead saw {a}. : cần một ký hiệu để thay thế {a},

  • Unexpected space after {a} . : Không có khoảng trống sau {a} .

  • Unexpected space before {a} . : Không có khoảng trống trước {a} .

  • Bad line breaking before {a}: Bad line breaking before {a}

  • Expected {a} to have an indentation at {b} instead at {c}. : {a} cần phải khúc vào tại {c} thay vì {b}

  • LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAKING ERROR: LINE BREAK

  • Unexpected use of {a}. : không thể dùng {a} ở đây, {a} có nghĩa là {a}.

  • Bad operand. : là một phép toán sai, là một phép toán sai, là một phép toán sai.

  • Use the isNaN function to compare with NaN. : Sử dụng isNaN để so sánh với NaN.

  • Confusing use of {a} . : dễ bị nhầm lẫn {a} sử dụng ,

  • Trong khi đó, trong một số trường hợp khác, người dùng có thể sử dụng các tính năng khác nhau.

  • {a} is a function. : {a} là một hàm

  • Bad assignment. : Phạm vi phân công

  • Do not assign to the exception parameter. : Không gán cho các tham số khác.

  • Expected an identifier in an assignment and instead saw a function invocation. : cần có một định danh trong câu lệnh được gán giá trị, chứ không phải là một hàm gọi của phương thức.

  • Expected an identifier and instead saw {a} (a reserved word). : cần có một định danh, thay vì {a} (một ký tự dành riêng)

  • Missing name in function declaration. : Missing name in function declaration. : Missing name in function declaration.

  • Expected an identifier and instead saw {a} . : cần có một định danh, thay vì {a} ,

  • Inner functions should be listed at the top of the outer function. : Tuyên bố của hàm bên trong nên được liệt kê ở trên cùng của hàm bên ngoài.

  • Unreachable {a} after {b} . : không thể có được {a} sau khi {b} .

  • Unnecessary semicolon. : dấu chấm không cần thiết.

  • Label {a} on {b} statement. : đặt {a} vào {b} statement.

  • Label {a} looks like a javascript url. : {a} looks like a js link : Label {a} looks like a javascript url.

  • Expected an assignment or function call and instead saw an expression : Bạn cần một assignment hoặc một function call, chứ không phải là một biểu thức.

  • Do not use new for side effects. : Đừng dùng new để nói về tác dụng phụ.

  • Unnecessary <unk>use strict<unk>.: không cần thiết <unk>use strict<unk>.

  • Missing <unk>use strict<unk> statement.: thiếu <unk>use strict<unk> statement, không có <unk>use strict<unk> statement,

  • Empty block. Empty block: Một khối rỗng.

  • “Unexpected /*member {a}.: không nên xuất hiện /*Nguyên tố Phosphorus.

  • {a} is a statement label. : {a} là một nhãn tuyên bố.

  • {a} used out of scope. : {a}

  • {a} is not allowed. {a} : không được phép sử dụng {a}

  • {a} is not defined. : {a} không được định nghĩa

  • Use a{} to compare with b{}

  • Variables should not be deleted. : Các biến cần phải được xóa

  • Use the object literal notation {}. : sử dụng ký hiệu chữ của đối tượng {} ,

  • Do not use {a} as a constructor. : Không sử dụng {a} như một constructor.

  • “The Function constructor is eval.”:“The Function constructor is eval.”,

  • A constructor name should start with an uppercase letter. : Tên của một đối tượng xây dựng phải bắt đầu bằng một chữ cái lớn.

  • Bad constructor.: Sau khi tạo ra một đối tượng không chính xác,

  • Weird construction. Delete new. : cấu trúc đối tượng sai, xin xóa new,

  • Missing ((() invoking a constructor. : thiếu dấu ngoặc kép (()

  • Avoid arguments.{a}. : tránh tham số.{a}. ,

  • document.write can be a form of eval. : document.write là một dạng của eval.

  • eval is evil. : Cố gắng tránh dùng eval.

  • Math is not a function : Math không phải là một hàm

  • Missing new prefix when invoking a constructor. : Không có new ở đây, nhưng có new ở đây.

  • Missing radix parameter. : thiếu tham số ,

  • Implied eval is evil. Pass a function instead of a string.

  • Bad invocation. : gọi sai , gọi sai , gọi sai

  • “[‘{a}’] is better written in dot notation.”:“[‘{a}’ là cách tốt nhất để sử dụng điểm.

  • Extra comma. : dấu phẩy dư thừa,

  • Don’t make functions within a loop. : Đừng tạo hàm trong vòng lặp.

  • Unexpected parameter {a} in get {b} function. : không nên dùng tham số {a} trong phương thức {b}

  • Duplicate member {a} . : lặp thành viên {a}

  • Expected to see a statement and instead saw a block. : Đáng lẽ đây là một tuyên bố và thay vào đó là một khối.

  • Too many var statements. : Quá nhiều tuyên bố var

  • REDEFINITION OF {a} : {a} được định nghĩa lặp đi lặp lại

  • It is not necessary to initialize {a} to undefined. : Không cần phải khởi tạo {a} thành undefined, vì {a} có thể được định nghĩa là undefined.

  • Expected a conditional expression and instead saw an assignment. : Bạn cần một biểu thức thay vì một câu lệnh gán giá trị

  • Expected a break statement before case. : cần có break trước case.

  • Expected a break statement before default. : Expected a break statement before default.

  • This switch should be an if .

  • All debugger statements should be removed. : Xin xóa tất cả các câu nói của debugger, vì chúng có thể bị xóa.

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

  • Expected an assignment or function call and instead saw an expression. : cần một câu lệnh hoặc một hàm gọi, thay vì một biểu thức

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

  • Sau đây là một số ví dụ về những lời khuyên mà bạn có thể tìm thấy trong dự án của mình:

  • 1 [W099]:Mixed spaces and tabs

Lỗi này là phổ biến nhất, có nghĩa là trong cùng một dòng, khoảng trống và Tab rút ngắn được sử dụng hỗn hợp, sửa đổi rất đơn giản, thường là xóa Tab rút ngắn, tất cả được thay đổi thành khoảng trống. Để thuận tiện, chúng ta có thể thiết lập Tab rút ngắn của trình soạn thảo thành 2 hoặc 4 khoảng trống, thay vì rút ngắn ban đầu.

  • 2 [W030]:Expected an assignment or function call and instead saw an expression

Đúng là một lỗi rất kỳ quặc, tôi đã viết code như sau: index-1 < 0? index = 0:index = index - 1; đây là một biểu thức ký tự, nhưng JSLInt nghĩ rằng không nên dùng biểu thức, mà phải là một hàm, vì vậy nếu bạn quan tâm đến lỗi này, hãy thay đổi nó thành câu if else

  • 3 [W041]:Use ‘===’ to compare with …

Nếu chúng ta thay thế bằng một số nguyên tố, nếu cả hai bên của biểu thức đều có cùng kiểu dữ liệu, thì chúng ta nên dùng nguyên tố để xác định.

  • 4 [W033]:Missing semicolon

Thiếu dấu chấm; điều này thường là tự mình quên viết, nhưng một điều cần lưu ý là, đối với cấu trúc chỉ có một câu, bạn cũng cần viết dấu chấm phía sau. Ví dụ: if (((index) {index=tcount-1} Câu mã này, cách viết chính xác là if (((index) {index=tcount-1;}, tôi thường quên viết dấu chấm ở đây, Khan …

  • Có một số lời khuyên sai khác, hãy xem xét và cải thiện phong cách viết mã và thói quen viết tốt của bạn.

Hình ảnh được trích từ blog của Zhou Xiaoyu.