2012-01-12 1 views
1

.replace가 새 문자열을 반환한다고 가정하지 않으면 아래 기능이 작동하지 않습니다. 구문은 입력 문자열 자체가 수정되었음을 의미합니다.참조 구문이 replace()의 동작과 일치하지 않습니다.

MDN

str.replace(regexp|substr, newSubStr|function[, Non-standardflags]); 

코드 MDN에서

escape: function (second_split) 
{ 
    for(element in second_split) 
    { 
    second_split[element] = second_split[element].replace('**', '*'); 
    second_split[element] = second_split[element].replace('*|', '|'); 
    } 
return second_split; 
}, 
+1

아니요. 기본 문자열은 변경할 수 없습니다. 'replace'는 새로운 값을 반환합니다. –

+0

"* 그러나 MDN의 문서에는 반환 값에 대한 언급이 없습니다. *" MDN의 첫 문장 : "* 새로운 문자열을 반환합니다 ... *". –

+0

@Sime ... 참조로 수정 된 죄송합니다 - 구문이 일치하지 않는 동작과 일치하지 않습니다. –

답변

2

:

이 방법이가 호출되는 String 객체를 변경하지 않습니다. 단순히 새로운 문자열을 반환합니다. 요약에서 상단 또한

:

그래서 반환에 새로운 문자열을 대체 ... 함께 새로운 캐릭터 라인을 돌려줍니다. 문자열은 변경할 수 없으므로 다른 것을하는 것이 의미가 없습니다.

+0

필자는 원형 프로토 타입을 살펴 보았습니다. 반환 값이 나열된 프로토 타입에서는 ... getElementById를 예로 들었습니다. 약간 일치하지 않습니다. –

+0

그래, 거기에 반환 값을 포함시켜야합니다. 워드 프로세서를 편집 할 수 있습니까? 나는 그것이 어떻게 작동하는지 정확히 모르겠지만 아마도 그것을 고치거나 누군가에게 당신을 위해 고쳐 줄 것을 요청할 수 있습니까? –

관련 문제