Những nguy hiểm của việc phá vỡ một dòng mã dài lên ở dấu đóng ngoặc là gì?Khi nào thì nguy hiểm khi ngắt dòng sau khi đóng ngoặc đơn trong Javascript?
Khi nào dấu chấm phẩy có thể được chèn tự động bằng Javascript (có lẽ đó là mối nguy hiểm, phải không?).
Tại sao sử dụng
)
làm trình ngắt dòng "được cau mày" bởi JSLint?
Trong Javascript đôi khi tôi thấy một dòng dài của mã chia tay tại một )
như thế này (example):
function()
{
hay như thế này (example):
object.methodOne()
.methodTwo();
Nhưng khi đọc line break expectations for jsLint, nó nói:
Là một quốc phòng tiếp tục chống lại cơ chế chèn dấu chấm phẩy, JSLint hy vọng báo cáo dài để được chia chỉ sau khi một trong các ký tự dấu hoặc khai thác:
, ; : { } ([ = < > ? ! + - */% ~^| &
== != <= >= += -= *= /= %= ^= |= &= << >> || &&
=== !== <<= >>= >>> >>>=
JSLint không mong đợi thấy một tuyên bố dài bị hỏng sau mã định danh, chuỗi, số, gần hơn hoặc toán tử hậu tố:
.) ] ++ --
Vì vậy, dấu ngoặc đơn đóng được tách ra thành bộ ngắt dòng mà JSLint "không mong đợi để xem".
Tôi muốn sử dụng
function()
{
kể từ khi tôi tìm thấy nó dễ đọc hơn, và tôi đã sử dụng nó trong các ngôn ngữ khác, nhưng hiện tại tôi sử dụng:
function() {
thể tôi một cách an toàn sử dụng )
để chia hàng dài?
Lưu ý rằng jslint cố ý phòng thủ hơn cú pháp JS thực, và nó sẽ khiếu nại về những thứ có giá trị Javascript (ví dụ, jslint coi '+ +' và '--' là xấu). –
@ Daniel - Tôi hiểu điều đó, nhưng tôi cho rằng vẫn còn có lý do cho các quy tắc ... Tôi chỉ không chắc chắn những gì họ có thể được trong trường hợp của paren gần. –
Mặc dù định nghĩa hàm là 100% an toàn, có những trường hợp khác (xem câu trả lời của người dùng166390) trong đó một ')' ở cuối có thể gây ra vấn đề. – casablanca