Rumah > hujung hadapan web > tutorial js > Mengapa Adakah `String.replace()` dengan Tanda Dolar ($) Menghasilkan Rentetan Kosong?

Mengapa Adakah `String.replace()` dengan Tanda Dolar ($) Menghasilkan Rentetan Kosong?

Barbara Streisand
Lepaskan: 2024-10-30 01:00:02
asal
1086 orang telah melayarinya

 Why Does `String.replace()` with a Dollar Sign ($) Result in an Empty String?

String.replace() Keanehan dengan Penggantian Tanda Dolar ($)

Apabila menggunakan penggantian rentetan dalam JavaScript, tingkah laku pelik boleh timbul dengan aksara tanda dolar ($). Pertimbangkan coretan kod berikut:

<code class="javascript">var text = "as";
text = text.replace(text,"$\'");
console.log(text);</code>
Salin selepas log masuk

Anehnya, kod ini mengeluarkan rentetan kosong. Jangkaan awal kami adalah untuk mencetak $'. Apakah yang menerangkan hasil yang tidak dijangka ini?

Jawapannya terletak pada kepentingan istimewa $ dalam ungkapan biasa JavaScript dan kaedah penggantian rentetan. Dalam konteks ini, $ menandakan penghujung rentetan, gelagat istimewa yang mengatasi peranan tipikalnya sebagai aksara literal.

Untuk menggunakan $ sebagai aksara sebenar dalam rentetan gantian, adalah perlu untuk melepaskannya menggunakan $$. Dengan mengubah suai kod seperti berikut, kami memperoleh output yang dimaksudkan:

<code class="javascript">var text = "as";
text = text.replace(text, "$$\'");
console.log(text);</code>
Salin selepas log masuk

Kod yang dikemas kini ini mencetak $' dengan betul pada konsol, menunjukkan penggunaan $ yang betul sebagai aksara literal dalam ungkapan biasa.

Atas ialah kandungan terperinci Mengapa Adakah `String.replace()` dengan Tanda Dolar ($) Menghasilkan Rentetan Kosong?. 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