>  기사  >  웹 프론트엔드  >  javascript replacement()의 두 번째 매개변수가 함수일 때 매개변수 사용법 (자세한 설명은 모두를 위한 설명)

javascript replacement()의 두 번째 매개변수가 함수일 때 매개변수 사용법 (자세한 설명은 모두를 위한 설명)

亚连
亚连원래의
2018-05-19 13:45:432430검색

replace() 함수에는 두 개의 매개변수가 있을 수 있습니다. 첫 번째 매개변수는 대체할 문자열이거나 대체할 문자열과 일치하는 정규식일 수 있습니다. 교체() 함수에 대한 몇 가지 코드 예제를 살펴보겠습니다. JavaScript 교체()의 두 번째 매개변수는 함수의 매개변수입니다.

replacement() 함수에는 대체 함수가 있으며 두 개의 매개변수를 가질 수 있습니다. 하나의 매개변수는 대체될 문자열이거나 대체될 문자열과 일치하는 정규 표현식일 수 있습니다. 두 번째 매개변수는 대체 텍스트 또는 함수일 수 있습니다.

코드 예:

예 1:

<script>
var str="I love jb51 and you?";
console.log(str.replace("jb","java"));
</script>

위 코드는 문자열에서 처음 지정된 하위 문자열만 바꿀 수 있습니다.

예 2:


<script>
var str="I love jb51 and you?";
var reg=/jb/g;
console.log(str.replace(reg,"java"));
</script>

위 코드는 문자열에서 지정된 모든 하위 문자열을 바꿀 수 있습니다.

예제 3:


<script>
var str="I love jb51 and you?";
console.log(str.replace("jb",function(){
 return "java"}
));
</script>

위 코드에서 두 번째 매개 변수는 함수이며, 이 함수의 반환 값을 사용하여 문자열에서 지정된 하위 문자열을 바꿀 수 있습니다. 두 번째 매개변수가 함수인 경우 함수는 실제로 매개변수를 전달할 수 있다. 함수의 매개변수 문제를 코드 예시를 통해 소개해보자.

코드는 다음과 같습니다.


<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>脚本之家</title>
<script type="text/javascript">
var url = "http://www.jb51.net/o.php?mod=viewthread&tid=14743&extra=page%3D1";
//第一参数为字符串
console.group("字符串");
var oneResult = url.replace("www.jb51.net",function(){
 console.log("replace输入参数:%o",arguments);
 var val = /www.jb51.net/.exec(url);
 
 console.log("exec输出参数:%o",val);
              
 console.assert(arguments[0] === val[0]);
 console.assert(arguments[1] === val["index"]);
 console.assert(arguments[2] === val["input"]);
 return "jb51";
});
console.log("replace返回字符串:"+oneResult);
console.groupEnd("字符串");
    
//第一参数为正则表达式
console.group("正则表达式");
var regexp_global = /[?&](\w+)=([^&]*)/g;
var count = 0;
var twoResult = url.replace(regexp_global,function(){
 console.log("第"+(count++)+"次运行");
 console.log("replace输入参数:%o",arguments);
 var val = regexp_global.exec(url);
 console.log("exec输出参数:%o",val);
              
 console.assert(arguments[0] === val[0]);
 console.assert(arguments[1] === val[1]);
 console.assert(arguments[2] === val[2]);
 console.assert(arguments[3] === val["index"]);
 console.assert(arguments[4] === val["input"]);
 return count;
});
console.log("replace返回字符串:"+twoResult);
console.groupEnd("正则表达式");
</script>
</head>
<body>
 
</body>
</html>

위 코드에서는 replacement() 함수의 첫 번째 매개변수가 일반 문자열이고 정규 표현식인 경우 두 번째 함수 매개변수가 해당 매개변수를 전달하는 것을 보여줍니다. 다음은 각각 간단한 설명입니다.

첫 번째 매개변수는 일반 문자열입니다.


첫 번째 매개변수가 일반 문자열인 경우 원래 문자열의 첫 번째 하위 문자열만 대체됩니다. 원래 문자열의 첫 번째 하위 문자열이 대체됩니다. 대체 작업이 수행되고 함수에 전달된 매개변수는 정규식으로 일반 문자열 매개변수를 사용하여 exec() 함수에서 반환된 배열의 요소와 동일합니다.

첫 번째 매개변수는 정규식입니다.


공간 문제로 인해 여기서는 실행 결과의 일부만 가로채게 됩니다. 교체() 함수의 첫 번째 매개변수는 정규식이며, 그 다음 두 번째 매개변수가 수행됩니다. 함수 매개변수는 여러 번 호출되며, 매번 전달되는 매개변수는 regexp_global.exec(url)에서 반환되는 배열 요소와 동일합니다.

위 내용은 제가 여러분을 위해 정리한 내용입니다. 앞으로 도움이 되길 바랍니다.

관련 기사:

오늘이 올해의 주인지 확인하려면

js를 사용하세요. (작은 예, 소스 코드 첨부)

HTML+CSS+JS에 대해 이야기하세요(자세한 설명)


정보 JS 코드 최적화 방법(그래픽 튜토리얼)


위 내용은 javascript replacement()의 두 번째 매개변수가 함수일 때 매개변수 사용법 (자세한 설명은 모두를 위한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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