Rumah > hujung hadapan web > tutorial js > JS Howto mengisytiharkan rentetan ke atas pelbagai baris

JS Howto mengisytiharkan rentetan ke atas pelbagai baris

Jennifer Aniston
Lepaskan: 2025-03-03 00:37:08
asal
164 orang telah melayarinya

js Howto Declare a String Over Multiple Lines

Saya ditanya baru -baru ini bagaimana untuk mengisytiharkan rentetan multiline dalam jQuery. Sebenarnya, ini hanya JavaScript biasa, hanya menambah backslash watak melarikan diri "" Selepas setiap baris. Seperti yang anda lihat, kami hanya menambah backslash pada akhir setiap baris untuk memberitahu penterjemah bahawa ia adalah sebahagian daripada rentetan panjang yang sama.

var textFromChris = "me:  we lunchin?\
 Sent at 11:34 AM on Friday\
 me:  sure\
 Sent at 11:58 AM on Friday\
 chris:  T=12.30\
 Sent at 12:07 PM on Friday";
var timeRegex = /T=([0-9.]+)/gm;
//timeRegex.compile(timeRegex);  // 这行代码在现代 JavaScript 中是多余的
console.dir(timeRegex.exec(textFromChris));
Salin selepas log masuk
Salin selepas log masuk
Kesalahan biasa: SyntaxError: Keserasian rentetan literal yang tidak dipulihkan: Ujian menunjukkan bahawa ia berfungsi dalam semua pelayar utama, termasuk IE 6. Jelas sekali, kita dapat mencapai hasil yang sama melalui kaedah lain. Kita hanya boleh membahagikan rentetan dengan cara ini, maka tidak kira jika mereka diisytiharkan pada baris berasingan.

var textFromChris = "me:  we lunchin?" +
 "Sent at 11:34 AM on Friday" +
 "me:  sure" +
 "Sent at 11:58 AM on Friday" +
 "chris:  T=12.30" +
 "Sent at 12:07 PM on Friday";
var timeRegex = /T=([0-9.]+)/gm;
//timeRegex.compile(timeRegex); // 这行代码在现代 JavaScript 中是多余的
console.dir(timeRegex.exec(textFromChris));
Salin selepas log masuk
Salin selepas log masuk
soalan yang sering ditanya mengenai mengisytiharkan rentetan menyebarkan pelbagai baris dalam JavaScript (FAQ)

Apa gunanya menggunakan backticks (`) dalam JavaScript untuk rentetan berbilang baris?

backticks (`) dalam JavaScript digunakan untuk menentukan literals templat, ciri baru yang diperkenalkan dalam ES6. Literasi templat membolehkan anda mengisytiharkan rentetan merentasi pelbagai baris tanpa menggunakan kaedah penyambungan tali tradisional. Ini menjadikan kod anda lebih ringkas dan mudah dibaca. Sebagai contoh, anda boleh mengisytiharkan rentetan multiline seperti ini:

let multilineString = `This is a
multiline
string`;
Salin selepas log masuk
Salin selepas log masuk
Apabila anda log rentetan ini ke konsol, ia mengekalkan garis pecah, menjadikannya ciri yang berguna untuk memformat teks dalam JavaScript.

Bagaimana untuk memasukkan pembolehubah dalam rentetan berbilang baris dalam JavaScript?

Dengan pengenalan literals template dalam ES6, anda boleh dengan mudah memasukkan pembolehubah dalam rentetan berbilang baris menggunakan sintaks

. Ini dipanggil interpolasi rentetan. Berikut adalah contoh: ${}

let name = 'John';
let multilineString = `Hello,
${name}`;
Salin selepas log masuk
Dalam kes ini, nama pembolehubah akan digantikan dengan nilainya ('John') dalam rentetan output.

Bolehkah saya menggunakan penyambungan rentetan untuk membuat rentetan multiline dalam javascript?

Ya, anda boleh menggunakan operator '' untuk menyusun rentetan dan membuat rentetan berbilang baris dalam JavaScript. Walau bagaimanapun, pendekatan ini boleh membuat kod anda kelihatan berantakan, terutamanya untuk rentetan yang panjang. Berikut adalah contoh:

let multilineString = 'This is a ' +
'multiline ' +
'string';
Salin selepas log masuk
Setiap rentetan berada pada baris baru, tetapi anda perlu memasukkan ruang pada akhir setiap baris untuk memastikan jarak yang betul dalam rentetan akhir.

Adakah terdapat perbezaan prestasi antara membuat rentetan multiline menggunakan backticks dan concatenation rentetan?

Dalam kebanyakan kes, perbezaan prestasi antara menggunakan backticks (literals templat) dan penyambungan rentetan boleh diabaikan. Walau bagaimanapun, literasi templat boleh lebih cepat dan lebih cekap apabila berurusan dengan rentetan besar atau melakukan operasi kompleks seperti interpolasi rentetan.

Bagaimana untuk menambah garis baru ke rentetan JavaScript?

Anda boleh menggunakan urutan melarikan diri 'n' untuk menambah garis baru ke rentetan JavaScript. Watak ini menyebabkan rehat garis, yang boleh digunakan dengan single, double, dan backquotes. Contohnya:

Dalam kes ini, 'Dunia!'
let string = 'Hello, \nWorld!';
Salin selepas log masuk

Bolehkah saya menggunakan literasi templat dalam semua pelayar?

literals templat adalah sebahagian daripada ES6 dan disokong dalam semua pelayar moden, termasuk Chrome, Firefox, Safari, dan Edge. Walau bagaimanapun, mereka tidak disokong di Internet Explorer. Jika anda perlu menyokong IE, anda harus menggunakan Concatenation String atau Newline 'n' untuk membuat rentetan multiline.

Bagaimana untuk memasukkan ungkapan dalam rentetan JavaScript?

Menggunakan literals templat, anda boleh menggunakan sintaks ${} untuk memasukkan ungkapan secara langsung dalam rentetan. Ungkapan akan dinilai dan hasilnya akan dimasukkan ke dalam rentetan. Contohnya:

var textFromChris = "me:  we lunchin?\
 Sent at 11:34 AM on Friday\
 me:  sure\
 Sent at 11:58 AM on Friday\
 chris:  T=12.30\
 Sent at 12:07 PM on Friday";
var timeRegex = /T=([0-9.]+)/gm;
//timeRegex.compile(timeRegex);  // 这行代码在现代 JavaScript 中是多余的
console.dir(timeRegex.exec(textFromChris));
Salin selepas log masuk
Salin selepas log masuk
Dalam kes ini, "jumlahnya ialah: 15" akan dicetak.

Bolehkah saya bersarang literal template dalam javascript?

Ya, anda boleh bersarang template literal dalam JavaScript. Ini berguna apabila anda perlu membuat rentetan yang kompleks. Berikut adalah contoh:

var textFromChris = "me:  we lunchin?" +
 "Sent at 11:34 AM on Friday" +
 "me:  sure" +
 "Sent at 11:58 AM on Friday" +
 "chris:  T=12.30" +
 "Sent at 12:07 PM on Friday";
var timeRegex = /T=([0-9.]+)/gm;
//timeRegex.compile(timeRegex); // 这行代码在现代 JavaScript 中是多余的
console.dir(timeRegex.exec(textFromChris));
Salin selepas log masuk
Salin selepas log masuk
Bolehkah saya menggunakan literasi templat dengan fungsi dalam JavaScript?

Ya, anda boleh menggunakan literasi templat dengan fungsi dalam JavaScript. Ini dipanggil templat tag literal. Tag template literal membolehkan anda menghuraikan literals templat menggunakan fungsi. Parameter pertama fungsi mengandungi pelbagai nilai rentetan, dan selebihnya berkaitan dengan ungkapan.

Bagaimana untuk melarikan diri dari backticks dalam literasi templat?

anda boleh melarikan diri dari backticks dalam literasi templat menggunakan watak backslash (). Contohnya:

Dalam kes ini, "backtick" dicetak dengan tanda backtick.
let multilineString = `This is a
multiline
string`;
Salin selepas log masuk
Salin selepas log masuk

Output yang disemak ini menangani isu -isu yang dikenal pasti, memberikan penjelasan yang lebih ringkas, dan mengekalkan pemformatan dan penempatan imej asal.

Atas ialah kandungan terperinci JS Howto mengisytiharkan rentetan ke atas pelbagai baris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan