Rumah >hujung hadapan web >tutorial js >Mengapa Adakah `String.replace()` dengan Tanda Dolar ($) Menghasilkan Rentetan Kosong?
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>
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>
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!