자바 script 에서 문자열 연결 성능
2257 단어 문자열 연결
var str = "";
str = str + "a";
1.2 사용 배열 은 자주 사용 하 는 언어 에서 문자열 연결 연산 의 성능 이 보편적으로 높 지 않다.이 를 위해 C\#에서 문자열 을 연결 하 는 데 사용 할 StringBuilder(Java 에서 StringBuffer 제공)를 제공 합 니 다.자바 script 에 서 는 Array 를 통 해 StringBuilder 를 모 의 하 는 방안 이 나 왔 습 니 다.
var str = [];
for (var i = 0; i < 100; i++) {
str[i] = "12345";
}
str = str.join("");
2 테스트 는 문자열 을 복사 하 는 과정 을 통 해 두 가지 방법의 성능 을 테스트 합 니 다.2.1 문자열 연결 연산 자 를 통 해 복사 합 니 다.
function copyByOperator(str, times) {
var newStr = "";
for (var i = 0; i < times; i++) {
newStr += str;
}
return newStr;
}
2.2 배열 을 통 해 복사 합 니 다.
function copyByArray(str, times) {
var newStr = [];
for (var i = 0; i < times; i++) {
newStr[i] = str;
}
return newStr.join("");
}
str 는 고정된 HTML 문자열 을 사용 하고 길 이 는 61 입 니 다.2.3 IE 에서 의 테스트 는 IE 의 성능 이 비교적 떨 어 지 는 것 을 고려 하여 먼저 작은 times 값(6000)으로 IE 6,IE 7,IE 8 아래 에서 테스트 한다.10 회 실행 후 평균 값 을 얻 습 니 다.결 과 는 다음 과 같 습 니 다.IE 브 라 우 저의 테스트 결과
브 라 우 저
copyByOperator
copyByArray
IE 6
1780.4ms
9.5ms
IE 7
1754.6ms
7.7ms
IE 8
1.6ms
9.4ms
IE6,7 은 IE8 의 테스트 결과 와 거리 가 멀 고 IE 8 은 문자열 연결 연산 을 최적화 시 켰 으 며 효율 은 배열 복사 법 보다 높 았 다.
2.4 각종 브 라 우 저 에서 의 테스트
최신 버 전의 각종 브 라 우 저 를 비교적 큰 times 값(50000)으로 테스트 합 니 다.
각종 브 라 우 저의 테스트 결과
브 라 우 저
copyByOperator
copyByArray
IE 8
21.8ms
54.7ms
Firefox 3.6
40.9ms
27.9ms
Chrome 4
4.4ms
10.9ms
Safari 4.0.5
41.6ms
34.6ms
Opera 10.50
33.1ms
23ms
이 결 과 는 정말 예상 밖 이다.IE 8 의 문자열 연결 연산 은 크롬 이외 의 브 라 우 저 를 모두 물리 쳤 다.IE 의 성능 이 떨어진다 고 하 는 사람들 은 주의해 야 한다.크롬 에서 도 문자열 연결 연산 이 배열 복제 법 보다 효율 적 인 경우 가 나 타 났 다.
3 총화
브 라 우 저의 성능 이 계속 향상 되 고 있 습 니 다.전단 엔지니어 로 서 자바 script 프로그램의 최적화 전략 을 적시에 조정 하여 최고의 성능 을 얻 도록 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 script 에서 문자열 연결 성능1.2 사용 배열 은 자주 사용 하 는 언어 에서 문자열 연결 연산 의 성능 이 보편적으로 높 지 않다.이 를 위해 C\#에서 문자열 을 연결 하 는 데 사용 할 StringBuilder(Java 에서 StringB...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.