Rumah >hujung hadapan web >tutorial js >Perbincangan ringkas tentang kaedah replace() dalam jQuery_jquery

Perbincangan ringkas tentang kaedah replace() dalam jQuery_jquery

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2016-05-16 15:59:192126semak imbas

Ketika saya membaca kod sumber jquery hari ini, saya mendapati masalah yang saya tidak pernah perasan sebelum ini, iaitu masalah apabila parameter kedua replace() adalah fungsi yang saya tahu bahawa parameter kedua ganti () boleh menjadi fungsi, tetapi saya tidak tahu bagaimana untuk mengendalikannya Apabila saya melihat fungsi yang digunakan sebagai parameter kedua replace() dalam kod sumber hari ini, saya merasakan ia sukar untuk dibaca, jadi saya merancang. untuk menyelesaikan fungsi ini...

Tatabahasa

stringObject.replace(regexp/substr, replacement)

Nilai pulangan

Mengembalikan rentetan baharu yang diperoleh dengan menggantikan padanan pertama atau mana-mana padanan regexp yang diingini dengan penggantian

Apabila penggantian parameter kaedah replace() ialah fungsi, dalam kes ini, fungsi dipanggil untuk setiap padanan dan rentetan yang dikembalikan oleh fungsi digunakan sebagai teks gantian. Parameter pertama fungsi ini ialah rentetan yang sepadan dengan corak. Parameter seterusnya ialah rentetan yang sepadan dengan subungkapan dalam corak. Mungkin terdapat 0 atau lebih parameter sedemikian. Parameter seterusnya ialah integer yang mengisytiharkan kedudukan dalam stringObject tempat perlawanan berlaku. Parameter terakhir ialah stringObject itu sendiri. Ayat ini disalin daripada w3cschool Bagi saya sekarang, saya tidak begitu memahami perenggan di atas, dan saya tidak boleh menerangkannya dengan perkataan saya sendiri, jadi saya hanya boleh menggunakan contoh untuk menggambarkan semuanya

Salin kod Kod adalah seperti berikut:

var string = "abc123-ii";
string.replace(/(d)-([da-z])/g,function( str1, str2, str3, str4, str5){
           console.log( str1 );             console.log( str2 ); // 3 (tangkapan pertama)
            console.log(str3);//i (kumpulan tidak menangkap kedua)
console.log(str4);//5 (padan dengan kedudukan yang muncul dalam rentetan)
            console.log(str5);// abc123-ii (rentetan itu sendiri)
          kembalikan "Saya";
})

Di atas ialah kod sumber jquery yang saya lihat hari ini

Salin kod Kod adalah seperti berikut:
camelCase: function( string ) {
           kembalikan string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
fcamelCase = fungsi( semua, huruf ) {
         return letter.toUpperCase();
};

Saya rasa saya faham fungsi ini sekarang kerana saya tidak memahaminya pada masa itu

Kemudian sekarang saya ingat bahawa saya tidak tahu bila dahulu, saya menemui simbol pelik apabila menggunakan replace(), yang merupakan simbol pelik kepada saya pada masa itu, seperti "$1, $2" dan sebagainya. Sekarang Ye Lai ada jawapan untuk soalan ini

$1, $2, $3.... bermakna menangkap 1, 2, 3....

Salin kod Kod adalah seperti berikut:
var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$1")); // Gunakan kumpulan tangkapan 1(3) untuk menggantikan /(d)-([da-z ])/g

$& mewakili subrentetan padanan regexp

Salin kod Kod adalah seperti berikut:
var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$&")); // Gantikan /(d dengan rentetan (3-i) yang sepadan dengan regexp )-( [da-z])/g

$` mewakili teks yang terletak di sebelah kiri subrentetan yang sepadan

Salin kod Kod adalah seperti berikut:
var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$`")); // Gantikan /(d)- dengan teks di sebelah kiri rentetan yang sepadan ( abc12) ([da-z])/g

$' mewakili teks yang terletak di sebelah kanan subrentetan yang dipadankan

Salin kod Kod adalah seperti berikut:
var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$'")); // Gantikan /(d)-([ dengan teks di sebelah kanan padanan rentetan da-z])/g

$$ ialah simbol $ secara langsung

Salin kod Kod adalah seperti berikut:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$$")); // Gunakan simbol $ untuk menggantikan /(d)-([da-z])/ g

Di atas adalah di mana saya tidak jelas tentang penggunaan kaedah replace() Saya seorang pemula hadapan Jika terdapat sesuatu yang salah dalam apa yang saya tulis, atau jika terdapat contoh penggunaan kaedah ini yang lebih baik , saya harap anda boleh kongsikan...

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
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