var str="hello";
str ="world";
실제로 이 코드가 백그라운드에서 수행하는 단계는 다음과 같습니다.
(1) "hello"를 저장할 문자열을 만듭니다.
(2) "world"를 저장할 문자열을 만듭니다.
(3) 연결 결과를 저장할 문자열을 만듭니다.
(4) str의 현재 내용을 결과에 복사합니다.
(5) "world"를 결과에 복사합니다.
(6) 결과를 가리키도록 str을 업데이트합니다.
문자열 연결이 완료될 때마다 2~6단계가 실행되므로 이 작업에는 리소스가 많이 소모됩니다. 이 프로세스를 수백, 수천 번 반복하면 성능 문제가 발생할 수 있습니다. 해결 방법은 Array 객체를 사용하여 문자열을 저장한 다음 Join() 메서드(매개 변수는 빈 문자열임)를 사용하여 최종 문자열을 만드는 것입니다. 이전 코드를 다음 코드로 대체한다고 상상해 보세요.
var str =new Array();
str[1]="world";
str.join(""); >
이렇게 하면 배열에 몇 개의 문자열이 추가되더라도 Join() 메서드가 호출될 때만 조인 작업이 발생하므로 문제가 되지 않습니다. 이때 단계는 다음과 같습니다.
(1) 결과를 저장할 문자열을 만듭니다.
(2) 각 문자열을 결과의 적절한 위치에 복사합니다.
이것 ._string= new Array();
}
StringBuilder.prototype.Append=function(str){
this._string.push(str)
}
StringBuilder.prototype.toString =function( ){
return this._string.join("");
}
효율성을 높이는 관련 기사:
HTML을 연결하는 가장 빠른 방법 배열 문자열
JavaScript에서 큰 문자열을 연결하는 StringBuffer 클래스
자세한 내용은 Script House의 이전 기사를 참조하세요.