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
1064 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!

sumber:php.cn
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