Câu trả lời:
Trong ví dụ của bạn, bạn có thể chia chuỗi thành hai phần:
alert ( "Please Select file"
+ " to delete");
Hoặc, khi đó là một chuỗi, như trong trường hợp của bạn, bạn có thể sử dụng dấu gạch chéo ngược như @Gumbo đề xuất:
alert ( "Please Select file\
to delete");
Lưu ý rằng phương pháp dấu gạch chéo ngược này không nhất thiết được ưa thích và có thể không được hỗ trợ phổ biến (tôi gặp khó khăn khi tìm dữ liệu cứng về điều này). Nó không có trong thông số ECMA 5.1 .
Khi làm việc với mã khác (không nằm trong dấu ngoặc kép), ngắt dòng bị bỏ qua và hoàn toàn chấp nhận được. Ví dụ:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
Đặt dấu gạch chéo ngược ở cuối dòng:
alert("Please Select file\
to delete");
Chỉnh sửa Tôi phải lưu ý rằng đây không phải là một phần của chuỗi ECMAScript vì các ký tự kết thúc dòng không được phép ở tất cả:
A ' LineTerminator nhân vật' không thể xuất hiện trong một chữ chuỗi, thậm chí nếu trước bởi một dấu gạch chéo
\
. Cách chính xác để làm cho một ký tự kết thúc dòng là một phần của giá trị chuỗi của một chuỗi ký tự là sử dụng một chuỗi thoát như\n
hoặc\u000A
.
Vì vậy, sử dụng nối chuỗi là sự lựa chọn tốt hơn.
Cập nhật 2015-01-05 Chuỗi ký tự trong ECMAScript5 cho phép cú pháp được đề cập:
Một ký tự kết thúc dòng không thể xuất hiện trong một chuỗi ký tự, ngoại trừ một phần của LineContininating để tạo ra chuỗi ký tự trống. Cách chính xác để làm cho một ký tự kết thúc dòng là một phần của giá trị Chuỗi của một chuỗi ký tự là sử dụng một chuỗi thoát như
\n
hoặc\u000A
.
\n
hoặc \u000A
. "
\r\n
thay vì \n
?
ECMAScript 6 giới thiệu các chuỗi mẫu :
Chuỗi mẫu là chuỗi ký tự cho phép các biểu thức nhúng. Bạn có thể sử dụng các chuỗi đa dòng và các tính năng nội suy chuỗi với chúng.
Ví dụ,
alert(`Please Select file
to delete`);
sẽ cảnh báo
Please Select file
to delete
`
chìa khóa. Vì nó là một sửa đổi, nó không được viết trực tiếp. Đó có thể là lý do tại sao bạn nghĩ rằng bạn nên nhấn nó hai lần, nhưng điều đó sẽ viết hai trong số đó. Nhấn phím cách để chỉ viết một.
Chia chuỗi thành hai mảnh
alert ("Please select file " +
"to delete");
Thú vị cần lưu ý. Đã thử:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
Và điều này đã làm việc. Tuy nhiên, do tai nạn!, Có một nhân vật không gian theo dấu gạch chéo ngược cuối cùng (tất cả các dấu gạch chéo ngược khác nằm ở cuối dòng). Và điều này gây ra một lỗi trong javascript! Tuy nhiên, việc xóa không gian này đã sửa lỗi.
Đây là trong ADT cho Android bằng Cordova.
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
Bạn chỉ có thể sử dụng
1: alert("Please select file" +
2: " to delete");
Cần làm việc
Bạn có thể chia một chuỗi dài liên tục thành các khối logic và gán chúng thành một mảng. Sau đó làm một join
với một chuỗi rỗng như là một dấu phân cách.
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
Đầu ra sẽ là:
- Đây là phần đầu tiên .... 2. Đây là phần thứ hai ..... 3. Kết thúc ở đây.
Có một hiệu suất nhỏ đạt được theo cách này nhưng bạn có được khả năng đọc và bảo trì mã.
Một giải pháp tốt ở đây cho người dùng VSCode , nếu một chuỗi bị phá vỡ thành nhiều dòng gây ra sự cố (tôi đã phải đối mặt với điều này khi tôi phải kiểm tra mã thông báo JWT dài và bằng cách nào đó sử dụng các mẫu chữ không thực hiện được.)
Tôi đã thử một số đề xuất ở trên nhưng nhận được cảnh báo ký tự MINH HỌA trong trình kiểm tra mã Chrome. Cách sau đây hiệu quả với tôi (chỉ được thử nghiệm trong Chrome!)
alert('stuff on line 1\\nstuff on line 2);
đi ra như ...
stuff on line 1
stuff on line 2
LƯU Ý dấu gạch chéo kép !! ... điều này có vẻ quan trọng!
Không cần bất kỳ sự phá vỡ thủ công trong mã. Chỉ cần thêm \ n nơi bạn muốn phá vỡ.
alert ("Please Select file \n to delete");
Điều này sẽ hiển thị cảnh báo như
Please select file
to delete.