>  기사  >  웹 프론트엔드  >  JavaScript의 세 가지 가로채기 문자열 함수의 사용법 및 차이점 비교 예에 대한 자세한 설명

JavaScript의 세 가지 가로채기 문자열 함수의 사용법 및 차이점 비교 예에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-25 11:40:141402검색

JavaScript에서 하위 문자열 추출은 주로 Slice, Substring, Substr 세 가지 방법 중 하나를 통해 이루어집니다.

// slice 
// 语法: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); 
// 'news'
// substring 
// 语法: string.substring(indexA [, indexB])
"Good news, everyone!".substring(5,9); 
// 'news'
// substr
// 语法: string.substr(start [, length])
"Good news, everyone!".substr(5,4); 
// 'news'

세 가지 방법 중 시작 인덱스 매개변수와 선택적 끝 인덱스(또는 길이) 매개변수를 입력하세요.

그러나 몇 가지 중요한 점에서 다릅니다.
1.substr() 메서드는 지정된 위치에서 지정된 수의 문자를 추출합니다.
param: start는 문자 추출을 시작하는 위치 인덱스이고, length는 추출된 문자의 개수와 길이입니다.
return: 새 문자열. 시작부터 시작하는 길이의 문자입니다.
브라우저마다 성능이 일관되지 않습니다. 최신 브라우저에서는 문자열 끝부터 추출할 문자 수를 나타내기 위해 시작 인덱스 매개변수를 음수로 허용합니다. 그러나 IE8 이하 브라우저에서는 최소 시작 인덱스 매개변수가 0부터 계산됩니다. [substr은 웹 브라우저를 위한 추가 ECMAScript 기능입니다. 시작 인덱스가 음수 값인 경우에는 사용하지 않는 것이 좋습니다.]

var str = "abcdefghij";
console.log("(1): "      + str.substr(1));     // (1): bcdefghij
console.log("(1,2): "    + str.substr(1,2));   // (1,2): bc
console.log("(-3): "     + str.substr(-3));    // (-3): hij
console.log("(-3,2): "   + str.substr(-3,2));  // (-3,2): hi
console.log("(20, 2): "  + str.substr(20,2));  // (20, 2):
console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab
 
// ie8及以下
console.log("(-3): " + str.substr(-2)); // (-20, 2): hij
console.log("(-3, 2): " + str.substr(-2)); // (-20, 2): ab

2.substring() 메서드는 한 인덱스와 다른 인덱스 사이의 문자열 하위 집합을 추출하는 데 사용됩니다. , 또는 문자열의 끝까지.
param: 두 매개변수 indexA와 indexB의 범위는 0과 문자열 길이 사이의 정수입니다.
return: 작은 인덱스 위치의 문자를 포함하고 큰 인덱스 위치의 문자를 제외하고 작은 인덱스부터 큰 인덱스까지 새 문자열을 반환합니다.
하위 문자열의 매개변수는 되돌릴 수 있으며, 항상 작은 매개변수 값으로 시작하고 큰 매개변수 값으로 끝납니다. 인수가 0 또는 NaN보다 작으면 0으로 처리되고, 인수가 문자열 길이보다 크면 문자열의 길이 값으로 처리됩니다.

// assumes a print function is defined
var anyString = "Mozilla";
// Displays "Moz"
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));
// Displays "lla"
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));
// Displays "Mozill"
console.log(anyString.substring(0,6));
// Displays "Mozilla"
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));

3.slice 끈.
param: BeginSlice는 음수일 수 있는 문자 위치 인덱스를 추출하기 시작합니다. 음수인 경우 (sourceLength-beginSlice)로 간주됩니다. sourceLength는 문자열의 길이입니다. 문자열의 끝. endSlice는 문자의 위치 인덱스를 종료합니다. 생략하면 추출이 종료됩니다. 음수인 경우 (sourceLength-endSlice)로 처리됩니다.
return: start(start 포함)로 시작하고 end(end 제외)로 끝나는 새 문자열을 반환합니다.
모든 매개변수는 음수일 수 있습니다. 인덱스가 음수이면 문자열 끝부터 계산됩니다.

var str1 = "The morning is upon us.";
console.log(str1.slice(4, -2));   //  morning is upon u
var str = "The morning is upon us.";
str.slice(-3);     // "us."
str.slice(-3, -1); // "us"
str.slice(0, -1);  // "The morning is upon us"


위 내용은 JavaScript의 세 가지 가로채기 문자열 함수의 사용법 및 차이점 비교 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.