> 웹 프론트엔드 > JS 튜토리얼 > js 교체() 당신이 모르는 텍스트 교체_javascript 기술

js 교체() 당신이 모르는 텍스트 교체_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:32:12
원래의
1123명이 탐색했습니다.
코드 복사 코드는 다음과 같습니다.

//단어-단어를 단어로 변환
함수 camelize(s){
return s.replace(/-(w)/g, function(strMatch, p1){
return p1.toUpperCas();
})
}

여기서 텍스트 대체 함수인 대체가 적용되었습니다. 그 일반적인 구문은 아마도 모든 사람에게 익숙할 것입니다. 이제 두 번째 매개변수가 함수인 경우를 소개하겠습니다.

오늘 이 기능을 그룹에 올렸을 때 어떤 분이 빠르게 답변을 주셨고 위의 정규식이 잘못 쓰여졌다고 하더군요. "/-(w)/ g", 그리고 나서 그는 자신의 의심이 이 "()"에 있다는 것을 금방 이해했습니다. 사실 이 괄호는 매우 필요합니다: ​​

(x)는 x를 일치시키고 $1, $2...$9라는 변수에 x를 저장합니다. 실제로 후속 호출을 용이하게 하기 위해 인덱스를 추가합니다. 이러한 괄호를 추가하지 않으면 오류가 발생합니다:


그럼 함수 매개변수의 의미를 소개하겠습니다. 왜 이 함수가 지정된 기능을 달성할 수 있나요?

ECMAScript v3에서는 replacement() 메서드의 매개변수 대체가 문자열이 아닌 함수일 수 있다고 규정합니다. 이 경우 일치하는 각 항목에 대해 함수가 호출되고 해당 함수가 반환하는 문자열이 대체 텍스트로 사용됩니다. 이 함수의 첫 번째 매개변수는 패턴과 일치하는 문자열입니다. 다음 인수는 패턴의 하위 표현식과 일치하는 문자열이며 이러한 인수는 0개 이상 있을 수 있습니다. 다음 매개변수는 일치가 발생하는 stringObject의 위치를 ​​선언하는 정수입니다. 마지막 매개변수는 stringObject 자체입니다.

조금 귀찮은 것 같습니다. 예:

코드 복사 코드는 다음과 같습니다.

카멜라이즈(www-rrr)

즉, 위의 strMatch 값은 -r인데, 이는 일반 패턴과 일치하는 문자열입니다(이 함수의 첫 번째 매개변수는 패턴과 일치하는 문자열입니다). ,

위 p1의 값은 r이며, 이는 우리가 지정하는 인덱스인 - (다음 매개변수는 패턴의 하위 표현식과 일치하는 문자열입니다) ——“(w)”.

그렇습니다. 앞으로 이 기능이 어떤 역할을 할지 알 것 같습니다. 하하, 그렇군요. 추가 제안도 환영합니다.


[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다. ]
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿