Maison > interface Web > js tutoriel > Compréhension approfondie des exemples de code objet JavaScript String

Compréhension approfondie des exemples de code objet JavaScript String

黄舟
Libérer: 2017-03-14 15:35:25
original
992 Les gens l'ont consulté

Cet article présente et analyse principalement l'utilisation spécifique de l'objet String en JavaScript, ainsi que les méthodes liées à l'objet String, afin pour permettre aux développeurs de progresser davantage dans le développement JavaScript. Gère bien les chaînes.

1. Introduisez l'objet

String pour effectuer des opérations sur des chaînes, telles que l'interception d'une sous-chaîne, la recherche de chaînes/caractères, la conversion de casse, etc.

2. Méthode de définition

2.1 nouveau String(Value) Constructeur : Renvoie un objet String dont le contenu est Value
Paramètres :

①value {String} : String

Valeur de retour :

{String object} Renvoie un objet String dont le contenu est Value

Exemple :

var demoStr = new String('abc');
console.log(typeof demoStr); // => object
console.log(demoStr); // => abc
Copier après la connexion

2.2 Affectation directe (recommandé)
Exemple :

var demoStr = 'abc';
console.log(typeof demoStr); // string
console.log(demoStr); // => abc
Copier après la connexion

3 ExempleAttribut

3.1 longueur : chaîne de retour Le nombre de caractères.

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

4. Méthode d'instance

Remarque : La méthode d'instance d'une chaîne ne modifie pas la chaîne elle-même, mais renvoie uniquement le résultat de l'opération.

4.1 charAt(index) : renvoie le caractère à la position spécifiée dans une chaîne. Le nombre commence à 0. Si une valeur inexistante est transmise, une chaîne vide sera renvoyée
Paramètres. :

①index {int} : Position index , calculé à partir de 0

Valeur de retour :

{string} Renvoie le caractère à la position spécifiée dans une chaîne ; si passé Entrez une valeur de position inexistante et renvoie une chaîne vide

Exemple :

var s = 'abc';
console.log(s.charAt(1)); // => b :返回位置为1的字符
console.log(s); // => 不影响原来的数组
console.log(s.charAt(5)); // => '' :获取一个不存在位置的字符,返回一个长度为0的空字符串
Copier après la connexion

4.2 charCodeAt(index) : Renvoie l'encodage Unicode du caractère à l'adresse spécifiée position dans une chaîne
Paramètres :

①index {int} : index de position, calculé à partir de 0

Valeur de retour :

{number} Renvoie l'encodage Unicode du caractère à la position spécifiée dans une chaîne ; Si une valeur de position inexistante est transmise, NaN est renvoyée. La chaîne suivante

Paramètres :

①value1, value2 ... valueN {string} : Un. ou plusieurs chaînes
var s = 'abc';
console.log(s.charCodeAt(0)); // => 98 :字符b的Unicode编码
console.log(s.charCodeAt(5)); // => NaN :获取一个不存在位置的字符,返回NaN
Copier après la connexion

Valeur de retour :

{string} Renvoi de la chaîne de connexion après

Exemple :

4.4 indexOf(value, |start

Position

) : recherche une chaîne ou un caractère d'avant en arrière dans l'instance et renvoie la position trouvée (en comptant à partir de 0). S'il n'est pas trouvé, renvoie -1

Paramètres :
var s = 'abc';
console.log(s.concat('d')); // => abcd
console.log(s); // => abc :不影响原先的字符串
console.log(s.concat('d', 'e')); // => abcde
Copier après la connexion

①value {string} : La chaîne à rechercher ②startPosition {int} Facultatif : Position de départ pour commencer la recherche, position de départ par défaut 0 commence la recherche

Valeur de retour :

{int} Renvoie la position trouvée (le comptage commence à 0). S'il n'est pas trouvé, retournez -1

Exemple :

4.5 lastIndexOf(value, |startPosition) : Recherchez une chaîne ou un caractère de l'arrière vers l'avant dans l'instance et renvoyez le trouvé position (en comptant à partir de 0). S'il n'est pas trouvé, renvoie -1

Paramètres :

①value {string} : La chaîne à rechercher
var s = 'abc';
console.log(s.indexOf('b')); // => 1
console.log(s.indexOf('d')); // => -1 :未找到
console.log(s.indexOf('b', 2)); // => -1 :从位置2(第3个字符处)开始查找
Copier après la connexion

②startPosition {int} Facultatif : La position de départ pour démarrer la recherche, le la valeur par défaut est à partir de la fin. Commencez la recherche

Valeur de retour :

{int} Renvoie la position trouvée (en comptant à partir de 0). S'il n'est pas trouvé, renvoie -1

Exemple :

4.6 localeCompare(value) : compare l'instance avec le paramètre et renvoie le résultat de la comparaison

Paramètre :

①value {string} : La chaîne à comparer
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个字符处)开始往前查找
Copier après la connexion

Valeur de retour :

0 : L'instance est plus grande que le paramètre

1 : L'instance et le paramètre sont égal

- 1 : L'instance est plus petite que le paramètre

Exemple :

4.7 match(regexp) : Utilisez

expression régulière

pour recherche correspondante

Paramètre :
var s='abc';
console.log(s.localeCompare('ab')); // => 1 :实例比参数大
console.log(s.localeCompare('abc')); // => 0 :实例与参数相等
console.log(s.localeCompare('abd')); // => -1 :实例比参数小
Copier après la connexion

①regexp {regexp} : Expression régulière, par exemple : /d /Valeur de retour :

Selon que l'expression régulière possède ou non l'attribut 'g', différents résultats sont renvoyés ; si ce n'est pas Match, renvoie {

null

} :

① L'expression régulière n'a pas l'attribut 'g', effectue une correspondance et renvoie un Objet de résultat {single match}, qui contient les attributs suivants :

Numéro de série du tableau : indique le résultat correspondant, 0 est le texte correspondant, 1 est le résultat correspondant de la première parenthèse de droite à droite, 2 est la deuxième parenthèse, et ainsi de suite

attribut index : indique que le texte correspondant est au début de la source correspondante

attribut input : indique la source correspondante

② Expression régulière avec l'attribut 'g', effectue une correspondance globale, trouve tous les objets correspondants de la chaîne et renvoie un {Tableau de chaînes} : l'élément du tableau contient chaque objet correspondant dans la chaîne, n'inclut pas la chaîne entre parenthèses d'expression régulière, et ne fournit pas d'attributs d'index et d'entrée.

Exemple :

4.8 replace(regexp, replaceStr) : remplace la sous-chaîne correspondant à l'expression régulière et renvoie la chaîne remplacée

Paramètres :

①regexp {expexp} : expression régulière. par exemple :/d/
// 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表示第一个括号内的子匹配结果
}
Copier après la connexion

②replaceStr {fonction de chaîne} :

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偶
Copier après la connexion

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,返回第一个数字的位置
Copier après la connexion

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前一个位置)的所有字符
Copier après la connexion

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"] :将数字来做为分隔符
Copier après la connexion

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个(超过字符长度,就只返回可统计的字符)
Copier après la connexion
Copier après la connexion

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个(超过字符长度,就只返回可统计的字符)
Copier après la connexion
Copier après la connexion

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的字符
Copier après la connexion

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

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal