Rumah > Artikel > hujung hadapan web > Penjelasan terperinci tentang sifat dan kaedah objek String kemahiran JavaScript native objects_javascript
panjang
Sifatlength mengembalikan bilangan aksara dalam rentetan.
panjang memperoleh panjang berdasarkan pengekodan UTF-16 rentetan Panjang rentetan kosong ialah 0. panjang tidak boleh diubah suai.
charAt()
Kaedah charAt() mengembalikan aksara pada kedudukan yang ditentukan. Ambil perhatian bahawa JavaScript tidak mempunyai jenis data aksara yang berbeza daripada jenis rentetan, jadi aksara yang dikembalikan ialah rentetan panjang 1.
stringObject.charAt(index)
Indeks parameter diperlukan. Nombor yang mewakili kedudukan tertentu dalam rentetan, iaitu subskrip aksara dalam rentetan. Indeks aksara pertama dalam rentetan ialah 0. Jika indeks parameter bukan antara 0 dan string.length, kaedah ini mengembalikan rentetan kosong.
Nota: Kaedah charAt() mungkin menghadapi masalah menyokong beberapa aksara bukan BMP (Rujukan-Berbilang Bahasa): MDN
charCodeAt()
Kaedah charCodeAt() mengembalikan pengekodan Unikod aksara pada kedudukan yang ditentukan. Nilai pulangan ini ialah integer antara 0 – 65535.
Kaedah charCodeAt() melakukan operasi yang serupa dengan kaedah charAt(), kecuali yang pertama mengembalikan pengekodan aksara pada kedudukan yang ditentukan, manakala yang kedua mengembalikan subrentetan aksara.
stringObject.charCodeAt(index)
Indeks parameter adalah pilihan. Nombor yang mewakili kedudukan tertentu dalam rentetan, iaitu subskrip aksara dalam rentetan. Indeks aksara pertama dalam rentetan ialah 0. Jika indeks negatif, atau lebih besar daripada atau sama dengan panjang rentetan, charCodeAt() mengembalikan NaN. Lalai ialah 0 apabila indeks kosong.
Julat pengekodan Unikod ialah 0 hingga 1,114,111. 128 pengekodan Unicode yang pertama sepadan dengan pengekodan aksara ASCII. Nilai yang dikembalikan oleh kaedah charCodeAt() sentiasa kurang daripada 65536, kerana aksara dengan nilai yang lebih tinggi muncul secara berpasangan dan perlu diambil serentak dengan charCodeAt(i) dan charCodeAt(i 1).
concat() – Ditamatkan
Kaedah concat() digunakan untuk menggabungkan dua atau lebih rentetan.
stringObject.concat(stringX, stringX, …, stringX)
Parameter stringX diperlukan. Merupakan satu atau lebih objek rentetan yang akan digabungkan menjadi rentetan.
Kaedahconcat() akan menukar semua parameternya kepada rentetan, kemudian menggabungkannya ke penghujung rentetan stringObject mengikut tertib dan mengembalikan rentetan bercantum. Ambil perhatian bahawa stringObject itu sendiri tidak diubah.
Perhatikan bahawa sangat disyorkan untuk menggunakan pengendali " " untuk menggabungkan rentetan sebagai alternatif kepada kaedah ini, yang lebih cekap Rujukan: concat vs vs join.
indexOf()
Kaedah indexOf() mengembalikan kedudukan kejadian pertama nilai rentetan yang ditentukan dalam rentetan.
stringObject.indexOf(searchvalue, fromindex)
Nilai carian parameter diperlukan dan menentukan nilai rentetan untuk diambil. Parameter fromindex ialah parameter integer pilihan. Menentukan kedudukan dalam rentetan untuk mula mencari. Nilai undang-undangnya ialah 0 hingga stringObject.length – 1. Jika parameter ini ditinggalkan, carian akan bermula dari aksara pertama rentetan.
Kaedah ini akan mendapatkan semula stringObject dari awal hingga akhir untuk melihat sama ada ia mengandungi nilai carian subrentetan. Kedudukan permulaan carian adalah pada fromindex rentetan atau permulaan rentetan (apabila fromindex tidak dinyatakan). Jika nilai carian ditemui, kedudukan kejadian pertama nilai carian dikembalikan. Kedudukan aksara dalam stringObject bermula dari 0.
Nota: Kaedah indexOf() adalah sensitif huruf besar-besaran! Jika nilai rentetan yang hendak diambil tidak muncul, kaedah mengembalikan -1.
lastIndexOf()
KaedahlastIndexOf() boleh mengembalikan kedudukan kejadian terakhir bagi nilai rentetan yang ditentukan, mencari dari belakang ke hadapan pada kedudukan yang ditentukan dalam rentetan.
Parameter dan kaedah penggunaan lastIndexOf() dan indexOf() adalah sama, kecuali ia mencari dari belakang ke hadapan.
console.log(str.indexOf("wo")); //6
console.log(str.indexOf("wo",2)); //6
console.log(str.indexOf("wo",10)); //12
console.log(str.lastIndexOf("wo")); //12
console.log(str.lastIndexOf("wo",2)); //-1
console.log(str.lastIndexOf("wo",10)); //6
localeCompare()
Membandingkan dua rentetan dalam susunan khusus setempat.
stringObject.localeCompare(sasaran)
Sasaran parameter diperlukan, rentetan untuk dibandingkan dengan stringObject dalam susunan khusus setempat.
Mengembalikan nombor hasil perbandingan. Jika stringObject kurang daripada sasaran, localeCompare() mengembalikan nombor kurang daripada 0. Jika stringObject lebih besar daripada sasaran, kaedah ini mengembalikan nombor yang lebih besar daripada 0. Jika dua rentetan adalah sama, atau tiada perbezaan mengikut pengumpulan tempatan, kaedah ini mengembalikan 0.
Apabila operator < dan > digunakan pada rentetan, mereka hanya membandingkan rentetan menggunakan pengekodan Unicode aksara, tanpa mengira pengumpulan setempat. Susunan yang dihasilkan dengan cara ini tidak semestinya betul. Sebagai contoh, dalam bahasa Sepanyol, aksara "ch" biasanya disusun sebagai aksara yang muncul di antara huruf "c" dan "d". Kaedah localeCompare() menyediakan cara untuk membandingkan rentetan, dengan mengambil kira pengumpulan tempatan lalai.
Parameter localeCompare() dalam beberapa penyemak imbas lanjutan juga menyokong tempat dan pilihan, rujuk kod dan MDN berikut: https://developer.mozilla.org/en-US/docs/Web/JavaScript / Rujukan/Global_Objects/String/localeCompare
perlawanan()
Kaedahmatch() mendapatkan semula nilai yang ditentukan dalam rentetan atau mencari padanan untuk satu atau lebih ungkapan biasa.
Kaedah ini serupa dengan indexOf() dan lastIndexOf(), tetapi ia mengembalikan nilai yang ditentukan dan bukannya kedudukan rentetan.
stringObject.match(regexp)
Parameter regexp boleh menjadi rentetan atau ekspresi biasa objek RegExp.
Mengembalikan tatasusunan yang menyimpan hasil yang sepadan. Kandungan tatasusunan ini bergantung pada sama ada regexp mempunyai bendera global g.
Jika regexp tidak mempunyai bendera g, maka kaedah match() hanya boleh melaksanakan satu padanan dalam stringObject. Jika tiada teks yang sepadan ditemui, match() mengembalikan null. Jika tidak, ia mengembalikan tatasusunan dengan maklumat tentang teks sepadan yang ditemuinya. Elemen ke-0 tatasusunan memegang teks yang sepadan, manakala elemen selebihnya memegang teks yang sepadan dengan subungkapan ungkapan biasa. Sebagai tambahan kepada elemen tatasusunan biasa ini, tatasusunan yang dikembalikan mengandungi dua sifat objek. Atribut indeks mengisytiharkan kedudukan aksara permulaan teks yang sepadan dalam stringObject, dan atribut input mengisytiharkan rujukan kepada stringObject.
Jika regexp mempunyai bendera g, kaedah match() melakukan carian global untuk mencari semua subrentetan yang sepadan dalam stringObject. Jika tiada subrentetan yang sepadan ditemui, null dikembalikan. Jika satu atau lebih subrentetan yang sepadan ditemui, tatasusunan dikembalikan. Walau bagaimanapun, kandungan tatasusunan yang dikembalikan oleh pemadanan global adalah sangat berbeza daripada elemen tatasusunannya menyimpan semua subrentetan yang sepadan dalam stringObject, dan tiada atribut indeks atau atribut input.
Tanpa bendera g, memanggil stringObject.match(regexp) mempunyai hasil yang sama seperti memanggil regexp.exec(stringObject). Dalam mod carian global, match() tidak memberikan maklumat tentang teks yang dipadankan dengan subungkapan, dan juga tidak mengisytiharkan kedudukan setiap subrentetan yang sepadan. Jika anda memerlukan maklumat yang diperoleh secara global ini, anda boleh menggunakan RegExp.exec().
Nota: Jika anda perlu mengetahui sama ada rentetan sepadan dengan ungkapan biasa, gunakan regexp.test(rentetan); jika anda hanya mahu memadankannya sekali, gunakan regexp.exec(string) dan bukannya string.match(regexp) .
console.log(str.match("world")); //["world", indeks: 6, input: "Hello world!"]
console.log(str2.match(/d /g)); //["1", "2", "3"]
ganti()
Kaedahreplace() digunakan untuk menggantikan beberapa aksara dengan aksara lain dalam rentetan atau menggantikan subrentetan yang sepadan dengan ungkapan biasa.
stringObject.replace(regexp/substr, replacement)
Parameter regexp/substr diperlukan. Objek RegExp yang menentukan subrentetan atau corak untuk diganti. Jika nilai ialah rentetan, ia diambil semula sebagai corak literal literal dan bukannya ditukar terlebih dahulu kepada objek RegExp. Penggantian parameter diperlukan. ialah nilai rentetan. Menentukan fungsi untuk menggantikan teks atau menjana teks gantian.
Kaedahmengembalikan rentetan baharu yang diperoleh dengan menggantikan padanan pertama atau semua regexp dengan penggantian.
Kaedah replace() rentetan stringObject melakukan operasi carian dan ganti. Ia akan mencari subrentetan dalam stringObject yang sepadan dengan regexp dan menggantikan subrentetan tersebut dengan penggantian. Jika regexp mempunyai bendera global g, maka kaedah replace() menggantikan semua subrentetan yang sepadan. Jika tidak, ia hanya menggantikan subrentetan pertama yang sepadan.
penggantian boleh menjadi rentetan atau fungsi. Jika ia adalah rentetan, maka setiap perlawanan akan digantikan dengan rentetan. Tetapi aksara $ dalam penggantian mempunyai makna tertentu. Seperti yang ditunjukkan di bawah, ia menggambarkan bahawa rentetan yang diperoleh daripada padanan corak akan digunakan untuk penggantian:
1.$$ – $
2.$` - teks di sebelah kiri subrentetan yang dipadankan.
3.$' - teks di sebelah kanan subrentetan yang dipadankan.
4.$& - subrentetan sepadan regexp.
5.$number - Teks yang sepadan dengan subungkapan ke-nombor dalam regexp.
penggantian boleh menjadi fungsi, dalam hal ini fungsi dipanggil untuk setiap padanan dan rentetan yang dikembalikan akan digunakan sebagai teks gantian. Parameter pertama fungsi ini ialah rentetan yang sepadan dengan corak. Argumen seterusnya ialah rentetan yang sepadan dengan subungkapan dalam corak dan boleh terdapat 0 atau lebih argumen sedemikian. Parameter seterusnya ialah integer yang mengisytiharkan kedudukan dalam stringObject tempat perlawanan berlaku. Parameter terakhir ialah stringObject itu sendiri.
//Ganti beberapa kali
var str2 = "Hello Microsoft! dan Microsoft! dan Microsoft! atau Microsoft!";
console.log(str2.replace(/Microsoft/g, "Google")); //Helo Google dan Google!
//Penukaran aksara
var str3 = "Doe, John";
console.log(str3.replace(/(w )s*, s*(w )/, "$2 $1")); //John Doe
var str4 = '"a", "b"';
console.log(str4.replace(/"([^"]*)"/g, "'$1'")); //'a', 'b'
//Gunakan fungsi
var str5 = 'aaa bbb ccc';
console.log(str5.replace(/bw b/g, function(word){
kembalikan word.substring(0,1).toUpperCase() word.substring(1);}
)); //Aaa Bbb Ccc
cari()
Kaedahsearch() digunakan untuk mendapatkan semula subrentetan tertentu dalam rentetan atau untuk mendapatkan semula subrentetan yang sepadan dengan ungkapan biasa.
stringObject.search(regexp)
Parameter regexp boleh menjadi subrentetan yang perlu diambil dalam stringObject, atau ia boleh menjadi objek RegExp yang perlu diambil.
Mengembalikan kedudukan permulaan subrentetan pertama dalam stringObject yang sepadan dengan regexp. Jika tiada subrentetan yang sepadan ditemui, -1 dikembalikan.
Nota: Kaedah carian() tidak melakukan padanan global, ia mengabaikan bendera g. Ia juga mengabaikan sifat lastIndex regexp dan sentiasa mendapatkan semula dari permulaan rentetan, yang bermaksud ia sentiasa mengembalikan kedudukan padanan pertama stringObject.
Wenn Sie nur wissen möchten, ob es eine passende Zeichenfolge gibt, ist die Verwendung der search()-Methode fast dasselbe wie die Verwendung der test()-Methode. Wenn Sie weitere Informationen erhalten möchten, können Sie die Methoden match () und exec () verwenden, die Effizienz ist jedoch gering.
slice()
Die Methodeslice() extrahiert einen bestimmten Teil eines Strings und gibt den extrahierten Teil als neuen String zurück.
stringObject.slice(start, end)
Der Parameter start ist der Startindex des zu extrahierenden Segments. Wenn es sich um eine negative Zahl handelt, gibt dieser Parameter die Position ab dem Ende der Zeichenfolge an. Das heißt, -1 bezieht sich auf das letzte Zeichen der Zeichenfolge, -2 bezieht sich auf das vorletzte Zeichen und so weiter.
Der Parameter Ende ist der Index, der unmittelbar auf das Ende des zu extrahierenden Fragments folgt. Wenn dieser Parameter nicht angegeben ist, umfasst die zu extrahierende Teilzeichenfolge die Zeichenfolge vom Anfang bis zum Ende der ursprünglichen Zeichenfolge. Wenn dieser Parameter negativ ist, gibt er die Position vom Ende der Zeichenfolge an.
Die Methodegibt eine neue Zeichenfolge zurück. Umfasst alle Zeichen der Zeichenfolge stringObject vom Anfang (einschließlich) bis zum Ende (exklusiv).
Hinweis: Die Methoden Slice(), Substring() und Substr() des String-Objekts können alle den angegebenen Teil des Strings zurückgeben. Es wird dringend empfohlen, in allen Situationen die Methode „slice()“ zu verwenden.
substring()
Veraltet, es wird empfohlen, stattdessen Slice() zu verwenden.
substr()
Veraltet, es wird empfohlen, stattdessen Slice() zu verwenden.
toLocaleLowerCase()
Nicht empfohlen. Es ist nur in einigen Sprachen wie Türkisch sinnvoll. Es wird empfohlen, stattdessen toLowerCase() zu verwenden.
toLocaleUpperCase()
Nicht empfohlen. Es ist nur in einigen Sprachen wie Türkisch sinnvoll. Es wird empfohlen, stattdessen toUpperCase() zu verwenden.
toLowerCase()
Die toLowerCase()-Methode wird verwendet, um Zeichenfolgen in Kleinbuchstaben umzuwandeln.
toUpperCase()
Die MethodetoUpperCase() wird verwendet, um Zeichenfolgen in Großbuchstaben umzuwandeln.
String-Objekte haben auch viele Methoden für HTML-Tags: Anchor(), Big(), Blink(), Bold(), Fixed(), Fontcolor(), Fontsize(), Italics(), Link(), Small (), Strike(), Sub(), Sup(). Sie führen hauptsächlich HTML-Formatierungen für String-Objekte durch. Heutzutage wenden sie nur wenige an und ihre Verwendung wird nicht empfohlen.
Beispiel zur Methodendemonstration:
var txt="Hallo Welt!"
document.write("
Big: " txt.big() "
")Small: " txt.small() "
")document.write("
Bold: " txt.bold() "
")Italic: " txt.italics() "
")document.write("
Blink: " txt.blink() " (funktioniert nicht im IE)
")Fixed: " txt.fixed() "
")Strike: " txt.strike() "
")document.write("
Fontcolor: " txt.fontcolor("Red") "
")Fontsize: " txt.fontsize(16) "
")document.write("
Lowercase: " txt.toLowerCase() "
")Uppercase: " txt.toUpperCase() "
")document.write("
Subscript: " txt.sub() "
")Superscript: " txt.sup() "
")document.write("
Link: " txt.link("http://www.w3school.com.cn") "
")