Heim  >  Artikel  >  Web-Frontend  >  Vertiefendes Verständnis der Codebeispiele für JavaScript-String-Objekte

Vertiefendes Verständnis der Codebeispiele für JavaScript-String-Objekte

黄舟
黄舟Original
2017-03-14 15:35:25937Durchsuche

In diesem Artikel werden hauptsächlich die spezifische Verwendung des String-Objekts in JavaScript sowie die mit dem String-Objekt verbundenen Methoden vorgestellt und analysiert um Entwicklern einen besseren Fortschritt bei der JavaScript-Entwicklung zu ermöglichen. Behandelt Strings gut.

1. Führen Sie das

String-Objekt ein, um Operationen an Zeichenfolgen auszuführen, z. B. das Abfangen einer Teilzeichenfolge, die Suche nach Zeichenfolgen/Zeichen, das Konvertieren von Groß- und Kleinschreibung usw.

2. Definitionsmethode

2.1 neu String(Wert) Konstruktor: Gibt ein String-Objekt zurück, dessen Inhalt Wert ist
Parameter:

①value {String}: String

Rückgabewert:

{String object} Gibt ein String-Objekt zurück, dessen Inhalt Value

ist. Beispiel:

var demoStr = new String('abc');
console.log(typeof demoStr); // => object
console.log(demoStr); // => abc

2.2 Direkte Zuweisung (empfohlen)
Beispiel:

var demoStr = 'abc';
console.log(typeof demoStr); // string
console.log(demoStr); // => abc

3. BeispielAttribut

3.1 Länge: Rückgabezeichenfolge Die Anzahl der Zeichen

var s = 'abc';
console.log(s.length); // => 3
console.log('新年快乐'.length); // => 4 :一个中文字符也计算为1个数量
console.log(''.length); // => 0 :空字符串返回0

4. Instanzmethode

Hinweis: Die Instanzmethode eines Strings verändert nicht den String selbst, sondern gibt nur das Ergebnis der Operation zurück.

4.1 charAt(index): Gibt das Zeichen an der angegebenen Position in einer Zeichenfolge zurück. Die Zahl beginnt bei 0. Wenn ein nicht vorhandener Wert übergeben wird, wird eine leere Zeichenfolge zurückgegeben :

①index {int}: Position

Index , berechnet aus 0

Rückgabewert:

{string} Gibt das Zeichen an der angegebenen Position in zurück eine Zeichenfolge; falls übergeben Geben Sie einen nicht vorhandenen Positionswert ein und geben Sie eine leere Zeichenfolge zurück

Beispiel:

var s = 'abc';
console.log(s.charAt(1)); // => b :返回位置为1的字符
console.log(s); // => 不影响原来的数组
console.log(s.charAt(5)); // => '' :获取一个不存在位置的字符,返回一个长度为0的空字符串
4.2 charCodeAt(index): Gibt die Unicode-Kodierung des Zeichens an der angegebenen Stelle zurück Position in einer Zeichenfolge

Parameter:

①index {int}: Positionsindex, berechnet aus 0

Rückgabewert:

{Nummer} Gibt die Unicode-Kodierung des zurück Zeichen an der angegebenen Position in einer Zeichenfolge; Wenn ein nicht vorhandener Positionswert übergeben wird, wird NaN zurückgegeben. Die folgenden Zeichenfolgen:

①value1, value2 ... valueN {string}: Eins oder mehr Zeichenfolgen

Rückgabewert:
var s = 'abc';
console.log(s.charCodeAt(0)); // => 98 :字符b的Unicode编码
console.log(s.charCodeAt(5)); // => NaN :获取一个不存在位置的字符,返回NaN

{string} Rückgabeverbindungszeichenfolge nach

Beispiel:

4.4 indexOf(value, |start

Position

): Suchen Sie eine Zeichenfolge oder ein Zeichen von vorne nach hinten in der Instanz und geben Sie die gefundene Position zurück (von 0 an gezählt). Wenn nicht gefunden, geben Sie -1 zurück

Parameter:

①value {string}: Die Zeichenfolge, nach der gesucht werden soll
var s = 'abc';
console.log(s.concat('d')); // => abcd
console.log(s); // => abc :不影响原先的字符串
console.log(s.concat('d', 'e')); // => abcde

②startPosition {int} Optional: Startposition zum Starten der Suche, Standardstartposition 0 startet die Suche Rückgabewert:

{int} Gibt die gefundene Position zurück (Zählung beginnt bei 0). Wenn nicht gefunden, geben Sie -1 zurück

Beispiel:

4.5 lastIndexOf(value, |startPosition): Suchen Sie in der Instanz von hinten nach vorne nach einer Zeichenfolge oder einem Zeichen und geben Sie den gefundenen Wert zurück Position (von 0 an gezählt). Wenn nicht gefunden, geben Sie -1 zurück

Parameter:

①value {string}: Die Zeichenfolge, nach der gesucht werden soll

②startPosition {int} Optional: Die Startposition zum Starten der Suche, die Der Standardwert ist vom Ende. Suche starten
var s = 'abc';
console.log(s.indexOf('b')); // => 1
console.log(s.indexOf('d')); // => -1 :未找到
console.log(s.indexOf('b', 2)); // => -1 :从位置2(第3个字符处)开始查找

Rückgabewert:

{int} Gibt die gefundene Position zurück (von 0 an gezählt). Wenn nicht gefunden, geben Sie -1 zurück

Beispiel:

4.6 localeCompare(value): Vergleichen Sie die Instanz mit dem Parameter und geben Sie das Vergleichsergebnis zurück

Parameter:

①value {string}: Der zu vergleichende String

Rückgabewert:
var s = 'abcabc';
console.log(s.lastIndexOf('a')); // => 3 :从后往前查找
console.log(s.lastIndexOf('d')); // => -1 :未找到返回-1
console.log(s.lastIndexOf('a', 2)); // => 0 :从位置2(第3个字符处)开始往前查找

0: Die Instanz ist größer als der Parameter

1: Die Instanz und der Parameter sind gleich

- 1: Die Instanz ist kleiner als der Parameter

Beispiel:

4.7 match(regexp): Verwenden Sie

regulären Ausdruck

für passende Suche

Parameter:

①regexp {regexp}: Regulärer Ausdruck, z. B.:/d+/
var s='abc';
console.log(s.localeCompare('ab')); // => 1 :实例比参数大
console.log(s.localeCompare('abc')); // => 0 :实例与参数相等
console.log(s.localeCompare('abd')); // => -1 :实例比参数小

Rückgabewert: Abhängig davon, ob der reguläre Ausdruck das Attribut hat 'g', es werden unterschiedliche Ergebnisse zurückgegeben. Wenn nicht, geben Sie {
null

} zurück:

① Der reguläre Ausdruck hat nicht das Attribut 'g', führt eine Übereinstimmung durch und gibt a zurück {single match} Ergebnisobjekt, das die folgenden Attribute enthält:

Array-Seriennummer: Gibt das Übereinstimmungsergebnis an, 0 ist der übereinstimmende Text, 1 ist das Übereinstimmungsergebnis der ersten Klammer von rechts nach rechts, 2 ist die zweite Klammer usw.

Indexattribut: Zeigt an, dass der übereinstimmende Text am Anfang der übereinstimmenden Quelle steht.

Eingabeattribut: Zeigt die übereinstimmende Quelle an.

② Regulärer Ausdruck mit dem Attribut „g“, führt einen globalen Abgleich durch, findet alle übereinstimmenden Objekte der Zeichenfolge und gibt ein {String-Array} zurück: Das Array-Element enthält jedes übereinstimmende Objekt in der Zeichenfolge, schließt die Zeichenfolge nicht in die Klammern des regulären Ausdrucks ein. und stellt keine Index- und Eingabeattribute bereit.

Beispiel:

4.8 replace(regexp, replaceStr): Ersetzen Sie die Teilzeichenfolge, die mit dem regulären Ausdruck übereinstimmt, und geben Sie die ersetzte Zeichenfolge zurück.

Parameter:

①regexp {regexp}: Regulärer Ausdruck. zB:/d+/

②replaceStr {string function}:
// 1.单个匹配
var s = 'a1b2c3d4';
var mc = s.match(/\d+/); // => 获取第一个正则匹配的结果
if (mc != null) {
    console.log(mc.index); // => 1 :匹配结果在匹配源的起始位置
    console.log(mc.input) // => a1b2c3d4 :匹配源
    console.log(mc[0]); // => 1 :获取匹配到的结果
}
// 2.全局匹配
var mcArray = s.match(/\d+/g); // => 获取全部正则匹配的数字
if (mcArray != null) {
    for (var i = 0,len=mcArray.length; i < len; i++) {
        var mc=mcArray[i];
        console.log(mc); // => 1,2,3,4 :获取匹配到的结果
    }
}
// 3.带括号的匹配
s = &#39;a1b2c3d4&#39;;
mc = s.match(/[a-z]([1-9])/); // => 获取第一个正则匹配的结果
if (mc != null) {
    console.log(mc.index); // => 0 :匹配结果在匹配源的起始位置
    console.log(mc.input) // => a1b2c3d4 :匹配源
    console.log(mc[0]); // => a1 :序号0表示匹配到的结果
    console.log(mc[1]); // => 1 :序号1表示第一个括号内的子匹配结果
}

1)若是字符串,表示替换的字符串,匹配到字串都替换成此字符串;

字符串中的$字符有特殊的含义:

$1,$2 … $99 :表示①参从左到右圆括号的匹配子项

$& :表示整个①参匹配的子项

$$ :美元符号

2)若是函数,表示每个匹配结果都调用此函数,函数的唯一参数为匹配结果,并返回一个替换结果。

返回值:

{string} 返回一个替换后的字符串

示例:

var oldStr = &#39;a1b2c3d4&#39;;
// 1.正则匹配到【所有】数字,替换成:&#39;,&#39;逗号
var newStr = oldStr.replace(/\d+/g, &#39;,&#39;);
console.log(newStr); // => a,b,c,d,
// 2.正则匹配到【所有】数字,替换成:匹配结果 + &#39;,&#39;逗号
newStr = oldStr.replace(/\d+/g, &#39;$&,&#39;);
console.log(newStr); // => a1,b2,c3,d4,
// 3.正则匹配到【所有】数字,每个匹配结果都调用函数,并返回替换后的结果
newStr = oldStr.replace(/\d+/g, function (word) {
    if (word % 2 == 0) {
        return &#39;偶&#39;;
    }
    return &#39;奇&#39;;
});
console.log(newStr); // => a奇b偶c奇d偶

4.9 search(regexp) :返回查找正则表达式第一个匹配的位置
参数:

①regexp {regexp} :正则表达式。eg:/\d+/

返回值:

{int} 返回第一个匹配的结果的位置;若没找到匹配结果返回-1

示例:

console.log( &#39;abcd&#39;.search(/\d+/) ); // => -1 :没有找到数字
console.log( &#39;abcd1234&#39;.search(/\d+/) ); // => 4 :位置序号为4,返回第一个数字的位置

4.10  slice(start, |end):返回从字符串start位置到end前一个位置的子串
参数:

①start {int} :子串提取的开始位置索引(包括此位置的字符)。

若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。

②end {int} 可选:子串提取的结束位置索引(不包括此位置的字符)。

若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。

若省略此参数,返回从start位置到结束的所有字符。

注意:

子串的提取顺序是从左到有,若start索引位置大于end索引位置,将返回一个空字符串。

返回值:

{string} 返回从字符串start位置到end前一个位置的子串。

示例:

var s = &#39;abcdefg&#39;;
console.log( s.slice(1) ); // bcdefg :省略end参数,结束位置为末尾
console.log( s.slice(1, 3) ); // bc :返回从位置序号1到位置序号2(end前一个位置)的子串
console.log( s.slice(-3) ); // efg :返回从倒数第三个开始到末尾的所有字符
console.log( s.slice(-3, -1) ); // ef :返回从倒数第三个开始到第二个(end前一个位置)的所有字符

4.11 split(delimiter, |arrayLength) :将字符串按照某种分隔符切分成一个由字符串组成的数组并返回
参数:

①delimiter {regexp | string} :指定的分隔符,可以为正则表达式或字符串。

②arrayLength {int} 可选 :分割数组的长度。若省略,返回所有分割的子串。

注意:

若分隔符在字符串的第一个或最后一个,将添加一个空字符串到返回的数组。

返回值:

{ string[] } 返回一个由字符串组成的数组。

示例:

console.log( &#39;a,b,c,d,e&#39;.split(&#39;,&#39;) ); // => ["a", "b", "c", "d", "e"]
console.log( &#39;,a,b,c,d,e,&#39;.split(&#39;,&#39;) ); // => ["", "a", "b", "c", "d", "e", ""] :分隔符在最前或最后面,会添加一个空字符串
console.log( &#39;a,b,c,d,e&#39;.split(&#39;,&#39;,3) ); // => ["a", "b", "c"] :返回前3个分割的子串
console.log( &#39;a1b2c3d4e&#39;.split(/\d/) ); // => ["a", "b", "c", "d", "e"] :将数字来做为分隔符

4.12 substr(start, |wordLength):返回从字符串start位置开始计算到wordLength个长度的子串
参数:

①start {int} :子串提取的开始位置索引(包括此位置的字符)。

若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。

②wordLength {int} 可选 :提取字符的长度。若省略此参数,返回从start位置到结束的所有字符。

返回值:

{string} 返回提取的字符串

示例:

ar s = &#39;abcdefg&#39;;
onsole.log( s.substr(0) ); // =>  abcdefg :省略第二个参数,返回从位置序号0开始,一直到最后的字符
onsole.log( s.substr(0, 3) ); // => abc :返回从位置序号0开始,计数3个字符
onsole.log( s.substr(2, 4) ); // => cdef :返回从位置序号2开始,计数4个字符
onsole.log( s.substr(-2, 3) ); // fg :返回从倒数第二个字符串开始,计数3个(超过字符长度,就只返回可统计的字符)

4.12 substr(start, |wordLength):返回从字符串start位置开始计算到wordLength个长度的子串
参数:

①start {int} :子串提取的开始位置索引(包括此位置的字符)。

若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。

②wordLength {int} 可选 :提取字符的长度。若省略此参数,返回从start位置到结束的所有字符。

返回值:

{string} 返回提取的字符串

示例:

ar s = &#39;abcdefg&#39;;
onsole.log( s.substr(0) ); // =>  abcdefg :省略第二个参数,返回从位置序号0开始,一直到最后的字符
onsole.log( s.substr(0, 3) ); // => abc :返回从位置序号0开始,计数3个字符
onsole.log( s.substr(2, 4) ); // => cdef :返回从位置序号2开始,计数4个字符
onsole.log( s.substr(-2, 3) ); // fg :返回从倒数第二个字符串开始,计数3个(超过字符长度,就只返回可统计的字符)

4.13 substring(start, |end) :返回从字符串start位置到end前一个位置的子串
参数:

①start {int} :子串提取的开始位置索引(包括此位置的字符)。数字不能为负数,若为负数按0来处理

②end {int} 可选:子串提取的结束位置索引(不包括此位置的字符)。数字不能为负数,若为负数按0来处理

返回值:

{string} 返回从字符串start位置到end前一个位置的子串。

示例:

var s = &#39;abcdefg&#39;;
console.log( s.substring(0) ); // =>  abcdefg :省略end参数,返回从位置序号0开始,一直到最后的字符
console.log( s.substring(0, 3) ); // => abc :返回从位置序号0开始到位置序号2(②参的前一个)的字符
console.log( s.substring(2, 4) ); // => cd :返回从位置序号2开始到位置序号3(②参的前一个)的字符
console.log( s.substring(-3, 3) ); // abc :参数若为负,就按数字0来处理,所以此参数实际返回位置序号0到位置序号3的字符

4.14 toUpperCase() :将字符串转换为大写并返回

4.15 toUpperCase() :将字符串转换为小写并返回

4.16 trim() :移除字符串开头和结尾处的空白字符并返回

Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis der Codebeispiele für JavaScript-String-Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn