JavaScript는 단일 문자를 나타내지 않으며 문자열 문자열 유형 만 나타내지 않으며 문자 유형은 하나의 문자 만 포함 된 문자열과 같습니다.
문자열 문자열은 JavaScript의 기본 데이터 유형입니다. 동시에 JavaScript는 원래 값을 가진 래퍼 객체 인 String 객체도 지원합니다. JavaScript는 원래 양식과 필요할 때 객체 양식을 자동으로 변환합니다. 이 기사는 원래 문자열 유형과 문자열 래퍼 객체를 소개합니다.
정의
문자열 유형은 따옴표로 둘러싸인 16 비트 유니 코드 문자로 구성된 일련의 문자입니다.
문자열 유형은 종종 텍스트 데이터를 나타내는 데 사용되며 현재 문자열의 각 요소는 코드 포인트로 간주됩니다. 각 요소는이 순서에서 위치를 차지하는 것으로 간주되며, 이러한 위치를 비 음성 값으로 색인화합니다. 첫 번째 문자는 위치 0에서 시작하고 두 번째 문자는 위치 1에 있습니다.
문자열의 길이는 요소 수 (예 : 16 비트 값)입니다. 빈 문자열의 길이는 0이므로 요소가 포함되어 있지 않습니다.
유니 코드 인코딩
모든 문자는 '/uxxxx'형식으로 작성 될 수 있으며, 여기서 xxxx는 문자의 유니 코드 인코딩을 나타냅니다. 예를 들어, /u00a9는 저작권 기호를 나타냅니다
var s = '/u00a9'; s // "©"
문자열에 실제 텍스트 데이터가 포함 된 경우 각 요소는 별도의 UTF-16 단위로 간주됩니다. 각 문자는 JavaScript 내부의 16 비트 (즉, 2 바이트) UTF-16 형식으로 저장됩니다.
그러나 UTF-16은 두 가지 길이를 가지고 있습니다. U+0000과 U+FFFF 사이의 문자의 경우 길이는 16 비트 (즉, 2 바이트)입니다. U+10000과 u+10ffff 사이의 문자의 경우 길이는 32 비트 (즉, 4 바이트)이고, 처음 두 바이트는 0xD800과 0xDBFF 사이이며, 마지막 두 바이트는 0xDC00과 0xDFFFF 사이이며 마지막 두 바이트는 0xDC00과 0xDFFFF 사이입니다.
예를 들어, u+1d306에 해당하는 문자 "the"는 UTF-16으로 기록되며 0xD834 0xDF06입니다. 브라우저는이 4 바이트를 하나의 문자로 올바르게 인식하지만 JavaScript 내부의 문자 길이는 항상 16 비트로 고정 되며이 4 바이트는 두 문자로 취급됩니다.
var s = '/ud834/udf06'; s // "?"s.length // 2
U+10000에서 U+10ffff까지의 4 바이트 유니 코드 문자의 경우 JavaScript는 항상 두 문자로 취급됩니다 (문자 길이 속성은 2입니다)
견적 마크
문자열 문자열은 이중 인용문 ( ") 또는 단일 따옴표 ( ')에 의해 선언됩니다. Java는 이중 인용문과 단일 따옴표가있는 문자열을 선언합니다. ECMAScript에는 문자 유형이 없기 때문에이 두 가지 표기법 중 하나를 사용할 수 있지만 왼쪽과 오른쪽 따옴표는 일치해야합니다.
// var scolor1 = "red"; var scolor2 = 'red'; // error var scolor1 = "red '; var scolor2 ='red";
단일 따옴표로 구분 된 문자열에는 이중 인용문이 포함될 수 있으며 이중 인용문으로 구분 된 문자열에는 단일 따옴표가 포함될 수 있습니다.
'key = "value" ""긴 여행입니다 "
JavaScript 코드는 HTML 코드의 문자열과 혼합 될 수 있으며 HTML 코드도 JavaScript 코드와 혼합됩니다. 따라서 각각 JavaScript 및 HTML 코드에서 별도의 견적 스타일을 사용하는 것이 가장 좋습니다.
단일 따옴표는 JavaScript의 문자열을 나타내는 데 사용되며, 이중 따옴표는 HTML 이벤트 처리기의 문자열을 나타내는 데 사용됩니다.
<button onclick = "alert ( 'throw')"> 클릭 </button>
백 슬래시
단일 견적 구분 된 문자열로 단일 따옴표를 사용하거나 이중 인용 구분 구분 된 문자열의 이중 따옴표를 사용하려면 backslash (/)를 사용해야합니다.
일반적인 상황은 영어 약어와 소유의 글쓰기의 아포스트로피와 단일 인용문이 같은 특성이므로, 아포스트로피를 피하기 위해 백 슬래시 (/)를 사용해야합니다.
'이 책을 선호하지 않습니까?' // "이 책을 선호하지 않겠습니까?" // "그녀는 '안녕하세요'라고 말했습니까?" "그녀는"안녕하세요/"라고 말했습니까?" // "그녀는"안녕하세요 "라고 말했습니까?"
멀티 라인 문자
기본적으로 문자열은 한 줄로 만 작성할 수 있으며 여러 줄로 나뉘어지면 오류가보고됩니다.
// 오류가 발생하지 않음 SYNTAXERROR : 무효 또는 예상치 못한 토큰
'에이
비
기음';
ECMAScript3에서 문자열은 한 줄로 작성해야합니다
ecmascript5에서 문자열은 줄로 나눌 수 있고 각 선은 백 슬래시 (/)로 끝나야합니다.
문자열 직접 수량으로 새 라인을 시작하려면 Escape 문자 /n을 사용할 수 있습니다.
// "OnElongline" 'One/Long/Line'/*"Twolines"*/'two/nlines'
탈출 캐릭터
JavaScript 문자열에서 Backslashes (/)는 특별한 용도가 있습니다. 백 슬래시 기호 다음에 캐릭터를 추가한다고해서 문자 그대로의 의미를 나타내지 않습니다. 그들은 탈출 문자라는 특수 캐릭터를 나타내는 데 사용됩니다.
/0 빈 바이트
/N
/ttable
/B 공간
/r 입력
/f 피드 페이퍼
// 슬래시
/'단일 따옴표
/"이중 인용문
/xnn은 16 진수 NN (n is 0-f)의 문자를 나타내며, 예를 들어 /x41은 'a'를 나타냅니다.
/u03a3과 같은 16 진수의 nnnn은 유니 코드 문자 (n is 0-f)를 나타내며 그리스 문자 ε을 나타냅니다.
비전문 문자 앞에 백 슬래시를 사용하는 경우 백 슬래시가 생략됩니다.
'/a'// "a"
문자열에 백 슬래시가 포함되어야하는 경우 백 슬래시 전에 다른 백 슬래시를 추가해야합니다.
"prev // next"// "prev / next"
특징
JavaScript의 줄은 불변입니다. 문자열이 생성되면 절대 변경할 수 없습니다. 변수로 저장된 문자열을 변경하려면 먼저 원래 문자열을 파괴 한 다음 새 값이 포함 된 다른 문자열로 변수를 채 웁니다.
+ 연산자를 통해 다른 문자열을 연결하여 새 문자열을 만들 수 있습니다.
var lang = "java"; lang = lang + "스크립트"; // 'JavaScript'
위의 코드의 실제 프로세스는 먼저 10자를 유지할 수있는 새 문자열을 만듭니다. 그런 다음이 문자열을 'Java'및 'Script'로 채 웁니다. 마지막 단계는 원래 문자열 '자바'와 '스크립트'를 파괴하는 것입니다.이 두 줄은 쓸모가 없기 때문입니다.
이 과정은 백그라운드에서 발생하며 일부 오래된 브라우저 (IE6)에서 스 니펫 문자열이 느려지는 이유이지만 나중에 브라우저의 버전 이이 비 효율성 문제를 해결했습니다.
문자열을 돌립니다
값을 문자열로 변환하는 두 가지 방법이 있습니다. ToString () 및 String ()
[참고] 빈 문자열을 사용할 수 있습니다 "" + 값을 사용하여 값을 문자열로 변환 할 수 있습니다.
ToString ()
첫 번째는 거의 모든 값이 가지고있는 tostring () 메소드를 사용하는 것입니다. 이 메소드는 해당 값의 문자열 표현을 반환합니다.
[참고] 정의되지 않은 및 null에는이 방법이 없습니다
undefined.toString (); // error null.toString (); // error true.toString (); // 'true'false.toString (); //'false'abc'.toString (); // 'abc'1.23.toString (); //'1.23 '({}) 개체] [1,2,3,4] .ToString (); // '1,2,3,4'(New Date ()). TOSTRING (); // "SUN Jun 05 2016 10:04:53 GMT+0800 (중국 표준 시간)"/ab/i.tostring (); // '/ab/i'끈()
변환하려는 값이 정의되지 않았는지 또는 null인지 모르는 경우 변환 함수 string ()을 사용할 수 있습니다.
변환 함수 string ()은 다음 규칙을 따릅니다.
【1 the 값이 null 인 경우 'null'을 반환하십시오. 값이 정의되지 않은 경우 'undefined'를 반환하십시오.
【2 the 값이 널 또는 정의되지 않은 경우 toString () 메소드를 호출하고 원래 유형 값을 반환하십시오.
【3 the 객체가 toString () 메소드에 의해 반환 된 경우 valueOf () 메소드를 호출하여 원래 유형 값을 반환하십시오. valueof () 메소드에 의해 반환 된 객체가 반환되면 오류 가보고됩니다.
// "3"string ({toString : function () {return 3;}})) // "[Object Object]" "String ({valueof : valuef : {return 2;}}) //"3 "string ({valueof : return 2;}, toString : function () {return 3;}})길이 속성
문자열 유형의 각 인스턴스는 길이 속성을 가지며 문자열의 문자 수를 나타냅니다. 줄은 불변이기 때문에 문자열의 길이도 변할 수 없습니다.
문자열의 길이 속성은 for/in 루프에서 열거되지 않으며 삭제 연산자를 통해 삭제할 수 없습니다.
[참고] String S의 경우 마지막 문자의 색인은 s.length -1입니다.
var str = "test"; console.log (str.length); // 4str.length = 6; console.log (str, str.length); // "test", 4
예제 방법
객체 공통 방법
문자열 유형은 문자열에 해당하는 래퍼 유형이며, Object Object의 일반 메소드 ToString (), Tolocalestring () 및 valueOf ()의 세 가지 방법을 상속합니다.
【TOSTRING ()】
toString () 메소드는 문자열의 원래 문자열 값을 반환합니다
【tolocalestring ()】
tolocalestring () 메소드는 문자열의 원래 문자열 값을 반환합니다
【valueof () of
valueof () 메소드는 문자열의 원래 문자열 값을 반환합니다.
console.log ( "test".valueof ()); // "test"console.log ( "test".tostring ()); // "test"console.log ( "test".tolocalestring ()); "test"
액세스 캐릭터 방법
문자열에는 문자에 액세스하는 방법에는 차트 (), 브래킷 [], charcodeat () 및 fromcharcode ()가 있습니다.
【chartat () at
charat () 메소드는 0의 문자 위치를 기반으로 매개 변수를 수신하고 지정된 위치에서 문자를 반환합니다. 매개 변수가 비어 있거나 NAN 인 경우 기본 매개 변수는 0입니다. 매개 변수가 범위를 벗어난 경우 빈 문자열이 반환됩니다.
var str = "hello"; console.log (str.charat (1)); // econsole.log (str.charat (-1)); // ''console.log (str.charat (10)); // ''console.log ()); // h console.log (nan); // h
charat () 메소드에는 숫자 () 함수의 암시 적 유형 변환이 포함됩니다. 숫자 값으로 변환되면 문자열은 위 규칙에 따라 출력됩니다. NAN으로 변환되면 0 번째 문자가 출력됩니다.
var str = "hello"; console.log (str.charat (true)); // 'e'console.log (str.charat (false)); //'h'console.log (str.charat ( 'abc')); // 'h'console.log (str.charat ({{})); h'console.log ([2]);[참고] X.Charat (POS) 및 X.Substring (POS, POS+1), X.SUBSTR (POS, 1), X.SLICE (POS, POS+1)의 결과는 서로 동일합니다.
var str = "hello"; console.log (str.charat (1)); // 'e'console.log (str.substring (1,2)); //'e'console.log (str.slice (1,2)); // 'e'console.log (str.substr (1,1)); //'e '
【지점】
ECMAScript5는 문자열의 특정 문자에 액세스하기 위해 사각형 브래킷과 숫자 인덱스를 사용하여 문자에 액세스하는 다른 방법을 정의합니다. 매개 변수가 범위를 벗어난 경우 출력이 정의되지 않습니다. 매개 변수가 없으면 오류 가보고됩니다. 이 방법은 숫자 () 변환 함수의 암시 적 유형 변환이 없지만, 매개 변수는 단수 값의 배열 일 때 숫자 값으로 변환 될 수 있습니다.
[참고] IE7-Browser는 지원하지 않습니다
var str = "hello"; console.log (str [0]); // hconsole.log (str [[1]]); // econsole.log (str [false]); // undefinedConsole.log (str [-1]); // undefinedconsole.log (str [nan]); // undfinedconsole.log (// undfinedconsole.log
【charcodeat ()】
charcodeat () 메소드는 charat () 메소드와 유사하며, 0의 문자 위치를 기반으로 매개 변수를 수신하지만 지정된 문자의 16 비트 유니 코드 인코딩을 반환합니다. 반환 값은 16 비트 정수, 0-65535, 즉 0x0000-0xffff 사이
매개 변수가 비어 있거나 NAN 인 경우 기본 매개 변수는 0입니다. 매개 변수가 범위를 벗어나면 NAN이 반환됩니다.
var str = "hello"; console.log (str.charcodeat ()); // 104console.log (str.charcodeat (0)); // 104console.log (str.charcodeat (1)); // 1 01console.log (str.charcodeat (-1)); // nanconsole.log (str.charcodeat (10)); // nanconsole.log (str.charcodeat (nan)); // 104
마찬가지로, charcodeat () 메소드는 숫자 () 함수의 암시 적 유형 변환을 포함합니다. 숫자 값으로 변환되면 해당 값은 상기 규칙에 따라 출력됩니다. NAN으로 변환되면 0 번째 문자의 캐릭터 인코딩이 출력됩니다.
var str = "hello"; console.log (str.charcodeat (true)); // 101console.log (str.charcodeat (false)); // 104console.log (st R.charcodeat ( 'abc')); // 104console.log (str.charcodeat ({})); // 104console.log (str.charcodeat ([2])); // l08fromcharcode ()】
문자열 생성자 자체에는 정적 메소드가 있습니다 : fromcharcode (). 이 방법의 작업은 하나 이상의 문자 인코딩을 수신 한 다음 문자열로 변환하는 것입니다. 기본적 으로이 방법은 인스턴스 메소드 charCodeat ()에서 반대 작업을 수행합니다. 매개 변수가 비어 있고 nan이 있으면 빈 문자열이 반환됩니다. 매개 변수가 0-65535의 범위를 초과하면 출력 문자는 통제 할 수 없습니다.
Console.log (String.fromcharcode (104,101,108,108,111)); // 'hello'Console.log (String.fromcharcode (0x6211,0x662f, 0x5c0f, 0x706b, 0x67f4); //'i litt match'console.log (String.fromcharcode ()); // ''console.log (String.fromcharcode (nan)); // ''console.log (string.fromcharcode (-1)); console.log (String.fromcharcode (65560));
캐릭터가 4 바이트를 차지하면 두 문자로 나누어야합니다.
console.log (String.fromcharCode (0xd842, 0xdfb7)); // "�line"
문자열 스티칭
문자열 스티칭에는 두 가지 방법이 있습니다 : concat () 및 Plus Sign +
concat () at
concat () 메소드는 하나 이상의 문자열을 스플릿하고 스 플라이 싱으로 얻은 새 문자열을 반환하는 데 사용되며 원래 문자열은 변경되지 않습니다. 매개 변수 (첫 번째 매개 변수 제외)가 문자열이 아닌 경우 String () 메소드를 통해 String으로 암시 적으로 변환 된 다음 String 스 플라이 싱이 수행됩니다.
var stringValue = 'hello'; var result = stringValue.concat ( 'world', '!'); console.log (result); // 'hello world!'console.log (stringValue); // 'hello'
[참고] 첫 번째 매개 변수는 문자열 일 수 있습니다. 다른 유형 인 경우 (배열 제외) 오류 가보고됩니다.
(1) .concat ( '2'); // 오류를보고합니다
(true) .concat ( 'false'); // 오류를보고합니다
({}). concat ( 'abc'); // 오류를보고합니다
[참고] 배열에는 concat () 메소드가 있으므로 매개 변수는 먼저 나타나는 매개 변수가 배열인지 문자열인지 여부에 따라 변환하는 방법을 결정합니다.
'1,2,3,'. concat ([4,5]); // '1,2,3,4,5'
[1,2,3] .concat ( ', 4,5'); // [1, 2, 3, ", 4,5"]
【플러스 운영자 (+)】
Concat ()는 현악기를 스플 라이스하는 데 특별히 사용되는 방법이지만 실제로 Plus 연산자 (+)를 더 많이 사용합니다. 플러스 연산자 사용은 종종 concat ()보다 간단합니다.
var stringValue = 'hello'; console.log (stringValue.concat ( 'world', '!')); // 'Hello World!'console.log (StringValue + 'world' + '!'); // 'Hello World!'
[참고] 문자열 스티칭은 피연산자 중 하나가 문자열이거나 객체가 문자열로 변환 될 때 수행됩니다.
1 + 2; // 3'1 ' + 2; //'12'var o = {valueof : function () {return '1';}}; o + 2; // '12'var o = {valueof : valueof : {return 1;}}; o + 2; // 3기판을 만듭니다
Slice (), substr () 및 substring ()의 세 가지 방법이 있습니다.
【일부분()】
슬라이스 (start, end) 메소드에는 두 개의 매개 변수 시작과 끝이 필요합니다.이 문자열의 문자열에서 시작 위치의 문자에서 하위 문자열이 끝 위치에있는 문자를 (포함하지 않음)로 반환합니다. 끝이 정의되지 않았거나 존재하지 않으면 모든 문자가 시작 위치에서 문자열 끝까지 반환합니다.
시작이 음수 인 경우 start = max (length + start, 0)
끝이 음수 인 경우 end = max (length + end, 0)
시작과 끝은 위치를 교환 할 수 없습니다
var stringValue = 'Hello World'; console.log (stringValue.slice ()); // 'Hello World'Console.log (stringValue.slice (2)); //'llo world'console.log (StringValue.slice (2, undefined)); // 'llo World'Console.log (StringValue.slice (2, -5)); // 'llo 'console.log (StringValue.slice (2, -20)); //' 'console.log (stringValue.slice (20)); //' 'console.log (stringValue.slice (-2,2)); //' 'console.log (-2, -20); //'); console.log (StringValue.slice (-2,20)); // 'ld'console.log (stringValue.slice (-20,2)); //'He'console.log (StringValue.slice (-20, -2)); 'Hello Wor'
Slice () 메소드에는 숫자 () 변환 함수의 암시 적 유형 변환이 포함됩니다. 시작이 NAN으로 변환되면 start = 0과 동일합니다. 끝이 NAN으로 변환되면 (끝이 정의되지 않은 경우 제외) 빈 문자열이 출력됩니다.
var stringValue = 'Hello World'; console.log (StringValue.slice (nan)); // hello World'Console.log (StringValue.slice (0, nan)); // ''console.log (stringValue.slice (true, [3])); // 'el'console.log (stringValue.slice (null, underfined)); //'hello world'console.log (stringvalue.slice.slice.slice.slice.slice.slice.slice World'Console.log (StringValue.slice ( '2', [5])); // 'llo'
substring ()】
서브 스트링 (start, end) 메소드에는 두 개의 매개 변수 시작 및 종료가 필요합니다.이 문자열의 문자열의 서브 스트링을 시작 위치의 문자에서 끝 위치에있는 문자를 (포함하지 않음)로 반환합니다. 끝이 정의되지 않았거나 존재하지 않으면 모든 문자가 시작 위치에서 문자열 끝까지 반환합니다.
매개 변수 중 하나가 NAN이거나 음수 인 경우 0으로 대체됩니다.
매개 변수가 문자열 길이보다 크면 문자열 길이로 대체됩니다.
시작이 끝보다 크면 값이 바뀝니다.
var stringValue = 'Hello World'; console.log (stringValue.substring ()); // 'Hello World'Console.log (StringValue.SubString (2)); //'llo world'Console.log (StringValue.substring (2, undefined)); // 'llo World'Console.log (StringValue.Substring (20)); // ''console.log (StringValue.Substring (-2,2)); // 'He'Console.Log (StringValue.s ubstring (nan, 2)); // 'he''console.log (StringValue.Substring (-2,20)); //'He'Console.Log (StringValue.Substring (-2,20)); // 'Hello World'Console.log (StringValue.Substring (3,2)); // 'l'console.log (StringValue.substring (3, nan)); // hel 'console.log (stringValue.SubString (-20,2)); //'He'Console.Log (StringValue.Substring (-20, -2)); // '' '' '' ''
마찬가지로, substring () 메소드는 또한 숫자 () 변환 함수의 암시 적 유형 변환과도 포함됩니다.
var stringValue = 'Hello World'; console.log (StringValue.SubString (true, [3]); // 'el'Console.log (stringValue.SubString (null, undefined)); //'Hello World'Console.Log (stringValue.SubString (null, undrefined)); // 'Hello World'Console.log (StringValue.Substring ({})); // 'Hello World'Console.log (StringValue.substring ('2 ', [5])); //'llo 'substr () tr
기판 (start, end) 메소드에는 두 개의 매개 변수 시작 및 종료가 필요합니다. 끝은 반환 된 하위 문자의 문자 수를 나타냅니다. 이 메소드는이 문자열의 시작 위치에서 문자에서 시작하는 끝 문자의 하위 문자열을 반환합니다. 끝이 정의되지 않았거나 존재하지 않으면 모든 문자가 시작 위치에서 문자열 끝까지 반환합니다.
시작이 음수 인 경우 start = max (length + start, 0)
시작이 Nan이면 시작 = 0에 해당합니다.
끝이 음수 또는 nan이면 end = 0이면 빈 문자열이 반환됩니다.
시작과 끝은 위치를 교환 할 수 없습니다
[참고]이 방법은 ECMAScript 표준이 아니며 더 이상 사용되지 않았습니다.
[참고] IE8- 브라우저는 음수 값이 substr ()로 전달되는 상황을 처리하는 데 문제가 있습니다. 원래 문자열을 반환합니다.
var stringValue = 'Hello World'; console.log (stringValue.substr ()); // 'Hello World'Console.log (StringValue.Substr (2)); //'llo world'console.log (StringValue.substr (2, undefined)); // 'llo World'Console.log (StringValue.substr (2, nan)); // ''console.log (stringValue.substr (nan, 2)); // 'he''console.log (StringValue.substr (20)); //'console.log (stringv alue.substr (-2,3)); // 'ld'console.log (stringValue.Substr (-2,20)); //'ld'Console.log (StringValue.substr (-20,2)); // '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ', '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '을' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''작업지 진행됩니다. 방법 " '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''을 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''을 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''을 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' console.log (StringValue.Substr (2,5)); // llo w
마찬가지로, substr () 메소드는 또한 숫자 () 변환 함수의 암시 적 유형 변환과도 포함됩니다.
var stringValue = 'Hello World'; console.log (StringValue.substr (true, [3]); // 'El'Console.log (stringValue.Substr (null, undefined)); //'Hello World'Console.log (StringValue.substr ({})); Hello World'Console.log (StringValue.substr ( '2', [5])); // 'llo w'문자열 위치
문자열에서 하위 문자열의 위치를 찾는 두 가지 방법이 있습니다 : indexof () 및 lastIndexof ()
【indexof () of
indexof (searchString, start) 메소드는 SearchString 및 시작, SearchString이 처음 나타나는 위치를 반환하고, 찾을 수없는 경우 -1을 반환합니다.
이 메소드는 암묵적으로 string () 변환 함수를 호출하여 searchString 비 스트링 값을 String으로 변환합니다. 숫자 () 변환 함수를 암시 적으로 호출하여 정의되지 않은 값 (정의되지 않은 제외)을 숫자 값으로 변환합니다.
SearchString은 검색 할 하부 문자열을 나타냅니다. 시작은 검색의 시작 위치를 나타냅니다. 매개 변수가 무시되거나 매개 변수가 정의되지 않은 경우, nan 또는 negative, start = 0
var string = 'Hello World World '; console.log (String.indexof ('ld ')); // 9console.log (String.indexof ('ld ', undefined)); // 9console.log (String.indexof ('ld ', nan)); // 9console.log ('ld ', -1); // 9console.log ('ld ', -1); ring.indexof ( 'ld', -1)); // 9console.log (String.indexof ( 'ld', -1)); // 9console.log (String.indexof (string.indexof) 'ld', -1)); // 9console.log (String.indexof ( 'ld', -1)); // 9console.log (String.indexof ( 'ld', -1)); // 9 console.log (string.indexof ( 'ld', 10)); // 15console.log (String.indexof ( 'ld', [10])); // 15console.log (String.index ( 'true', [10]); // -1console.log (String.indexof (false, [10]); // -1console.log (String.indexof (false, [10]); // -1【LastIndexof ()】
LastIndexof (SearchString, start) 메소드는 SearchString and start의 두 매개 변수를 수신하고 SearchString이 마지막으로 나타나는 시간을 반환합니다. 발견되지 않으면 -1을 반환합니다
마찬가지로,이 메소드는 string () 변환 함수를 암시 적으로 호출하여 searchString 비 스트링 값을 문자열로 변환합니다. 숫자 () 변환 함수를 암시 적으로 호출하여 정의되지 않은 값 (정의되지 않은 제외)을 숫자 값으로 변환합니다.
SearchString은 검색 할 하부 문자열을 나타냅니다. 시작은 검색의 시작 위치를 나타냅니다. 매개 변수가 무시되거나 매개 변수가 정의되지 않았거나 nan이면 start = length -1
[참고] indexof () 메소드와 달리 시작이 음수이면 메소드가 -1을 반환합니다.
var string = 'Hello World World'; console.log (string.indexof ( 'ld')); // 9console.log (string.indexof ( 'ld', undefined)); // 9console.log ( 'ld', nan)); // 9console.log ( 'ld'); // 1); console.log (string.indexof ( 'ld', 10)); // 15console.log (String.indexof ( 'ld', [10])); // 15console.log (String.index ( 'true', [10]); // -1console.log (String.indexof (false, [10]); // -1console.log (String.indexof (false, [10]); // -1
ht
모든 일치하는 하위 문자열은 indexof () 또는 lastIndexof ()를 호출하기 위해 루핑을 통해 찾을 수 있습니다.
함수 allIndexof (str, value) {var result = []; var pos = str.indexof (value); while (pos> -1) {result.push (pos); pos = str.indexof (value, pos+value.length);} return result;} console.log (allindexof ( 'hellhellhellhell', 'll')); // [2,7,12]【손질()】
ECMASCRIPT5 모든 문자열의 Trim () 메소드를 정의합니다. 이 메소드는 문자열 사본을 생성하고 접두사와 접미사에서 모든 빈 문자를 삭제하고 결과를 반환합니다.
Trim () 메소드는 문자열의 사본을 반환하기 때문에 원래 문자열의 접두사 및 접미사 공간은 변경되지 않습니다.
[참고] IE8-Browser는 지원하지 않습니다
var string = 'Hello World'; console.log (String.trim ()); // 'Hello World'Console.log (String); //'Hello World '
공백 문자에는 공백뿐만 아니라 탭 문자 (/t), 라인 브레이크 (/n) 및 캐리지 리턴 문자 (/r)가 포함됩니다.
'/r/nabc /t'.trim () //'abc '
또한 Firefox, Safari 및 Webkit은 문자열 끝에서 흰색 표준 Trimright ()를 지원합니다.
var string = 'hello world'; console.log (String.trimright ()); // 'Hello World';
【TIPS trim TRIM ()을 사용하여 입력 된 문자가 비어 있는지 확인하십시오.
if (usename.trim (). length) {alert ( '정확한');} else {alert ( 'error');}【팁 ulate 정규 표현식으로 trim ()을 시뮬레이션합니다
함수 fntrim (str) {return str.replace (/^/s+|/s+$/, '')} console.log (fntrim ( 'Hello World')); // 'Hello World'사례 변환
ecmascript : tolowercase (), tolocalelowercase (), touppercase () 및 tolocaleuppercase ()에서 문자열 케이스 변환과 관련된 네 가지 방법이 있습니다.
Tolowercase () 및 touppercase ()는 Java.lang.string의 동일한 이름 메소드에서 빌린 두 가지 고전적인 방법입니다. tolocalelowercase () 및 tolocaleuppercase () 메소드는 특정 영역에 대해 구현됩니다. 일부 지역의 경우, 지역의 방법은 일반적인 방법으로 얻은 결과와 동일합니다. 그러나 터키어와 같은 몇 가지 언어는 유니 코드 사례 변환에 대한 특별 규칙을 적용합니다. 이 시점에서, 올바른 전환을 달성하기 위해 영역의 방법을 사용해야합니다.
【touppercase ()】
touppercase () 메소드는 문자열을 대문자로 변환합니다
【tolowercase ()】
tolowercase () 메소드는 문자열을 소문자로 변환합니다
【TolocaleUpperCase ()】
tolocaleUpperCase () 메소드는 문자열을 대문자로 변환합니다 (영역)
tolocalelowercase ()】
tolocalelowercase () 메소드는 문자열을 소문자로 변환합니다 (영역)
[참고] 코드가 어떤 로케일을 실행하는지 모르고 지역별 방법을 사용하는 것이 더 안전합니다.
var string = 'hello world'; console.log (string.tolowercase ()); // hello worldConsole.log (string.tolocalelowscase ()); // hello worldConsole.log (String.toupperCase ()); // hello WorldConsole.Log (String.TolocalEuppercase ()); // Hello World
이 4 가지 방법은 String () 암시 적 유형 변환을 지원하지 않으며 문자열 유형 만 지원합니다.
(true) .tolowercase (); // 오류를보고합니다
(2) .tolocalelowercase (); // 오류를보고합니다
({}). toupperCase (); // 오류를보고합니다
([]). TolocaleUpperCase (); // 오류를보고합니다
[참고] 사례 변환 방법은 지속적으로 사용할 수 있습니다
var string = 'hello world'; console.log ((string.touppercase ()). tolowercase ()); // hello world
【LocalEcompare ()】
LocalEcompare () 메소드는 다음 규칙에 따라 두 줄을 비교하는 데 사용됩니다.
[1] 문자열이 알파벳의 문자열 매개 변수 앞에 순위를 매기려면 음수가 반환됩니다 (대부분 -1)
string 문자열이 문자열 매개 변수와 같으면 0을 반환합니다.
Alphabet의 문자열 매개 변수 이후 문자열을 배치 해야하는 경우 양수가 반환됩니다 (대부분의 경우 1)
var stringValue = 'Yellow'; console.log (StringValue.localeCompare ( 'brick')); // 1 'y'> 'b'console.log (stringValue.localecompare ('Yellow ')); // 0'옐로우 '=='옐로우 '소드 (stringValue.localecompare); zoo'); '동물원'[참고] 알파벳의 대문자는 소문자 앞에 있지만 대문자 <소문자. 그러나 LocalEcompare () 방법은 자연 언어의 분류 상황을 고려하고 'a'앞에서 'b'순위를 높일 것입니다.
console.log ( 'b'.localecompare ('a ')); // 1console.log ('b '>'a '); // falseconsole.log ('b'.localecompare ( 'a')); // 1console.log ( 'b'> 'a'); // true위는 편집기가 소개 한 JavaScript 유형 시스템의 문자열 문자열 유형에 대한 자세한 설명에 대한 관련 지식입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!