Jawaban:
Dalam contoh Anda, Anda dapat memecah string menjadi dua bagian:
alert ( "Please Select file"
+ " to delete");
Atau, ketika ini adalah string, seperti dalam kasus Anda, Anda dapat menggunakan backslash seperti yang disarankan @Gumbo:
alert ( "Please Select file\
to delete");
Perhatikan bahwa pendekatan backslash ini tidak selalu disukai , dan mungkin tidak didukung secara universal (saya mengalami kesulitan menemukan data sulit tentang ini). Itu tidak ada dalam spesifikasi ECMA 5.1 .
Ketika bekerja dengan kode lain (tidak dalam tanda kutip), jeda baris diabaikan, dan bisa diterima. Sebagai contoh:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
Letakkan garis miring terbalik di akhir baris:
alert("Please Select file\
to delete");
Sunting Saya harus mencatat bahwa ini bukan bagian dari string ECMAScript karena karakter penghentian baris sama sekali tidak diperbolehkan:
Karakter ' LineTerminator ' tidak dapat muncul dalam string literal, bahkan jika didahului oleh garis miring terbalik
\
. Cara yang benar untuk menyebabkan karakter terminator garis menjadi bagian dari nilai string literal string adalah dengan menggunakan urutan escape seperti\n
atau\u000A
.
Jadi menggunakan penggabungan string adalah pilihan yang lebih baik.
Pembaruan 2015-01-05 String literal di ECMAScript5 memungkinkan sintaks yang disebutkan:
Karakter terminator garis tidak dapat muncul dalam string literal, kecuali sebagai bagian dari LineContinuation untuk menghasilkan urutan karakter kosong. Cara yang benar untuk menyebabkan karakter terminator garis menjadi bagian dari nilai String dari string literal adalah dengan menggunakan urutan escape seperti
\n
atau\u000A
.
\n
atau \u000A
. "
\r\n
alih - alih \n
?
ECMAScript 6 memperkenalkan string template :
String template adalah string literal yang memungkinkan ekspresi tersemat. Anda dapat menggunakan fitur multi-line string dan string interpolasi.
Sebagai contoh,
alert(`Please Select file
to delete`);
akan mengingatkan
Please Select file
to delete
`
kunci. Karena itu adalah pengubah itu tidak ditulis secara langsung. Itu mungkin mengapa Anda berpikir Anda harus menekannya dua kali, tetapi itu akan menulis dua di antaranya. Tekan bilah spasi untuk menulis hanya satu.
Pisahkan string menjadi dua bagian
alert ("Please select file " +
"to delete");
Menarik untuk diperhatikan. Mencoba:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
Dan ini berhasil. Namun, pada kecelakaan !, ada karakter spasi setelah backslash terakhir (semua backslash lainnya ada di akhir baris). Dan ini menyebabkan kesalahan pada javascript! Menghapus ruang ini memperbaiki kesalahan.
Ini ada di ADT untuk Android menggunakan Cordova.
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
Anda bisa menggunakannya
1: alert("Please select file" +
2: " to delete");
Itu seharusnya bekerja
Anda dapat memecah konstanta string panjang menjadi potongan logis dan menetapkannya ke dalam array. Kemudian lakukan join
dengan string kosong sebagai pembatas.
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
Output akan menjadi:
- Ini adalah bagian pertama .... 2. Ini adalah bagian kedua ..... 3. Menyelesaikan di sini.
Ada sedikit kinerja yang terjadi dengan cara ini, tetapi Anda memperoleh keterbacaan dan pemeliharaan kode.
Solusi yang bagus di sini untuk pengguna VSCode , jika string yang terpecah menjadi beberapa baris menyebabkan masalah (saya menghadapi ini ketika saya harus menguji token JWT yang panjang, dan entah bagaimana menggunakan templat literal tidak melakukan triknya.)
Saya mencoba sejumlah saran di atas tetapi mendapat peringatan karakter ILLEGAL di inspektur kode Chrome. Berikut ini bekerja untuk saya (hanya diuji di Chrome!)
alert('stuff on line 1\\nstuff on line 2);
keluar seperti ...
stuff on line 1
stuff on line 2
Perhatikan double backslash !! ... ini sepertinya penting!
Tidak perlu adanya pembobolan kode secara manual. Cukup tambahkan \ n di tempat yang ingin Anda hancurkan.
alert ("Please Select file \n to delete");
Ini akan menampilkan peringatan seperti
Please select file
to delete.